﻿
<html>
<head>
<meta charset="utf-8">
<title>C++11 BNF Grammer</title>
<meta name="description" content="C++11 BNF Grammer">
<meta name="keywords" content="c++11, BNF, grammer">
<link rel="icon" href="/favicon.png?" sizes="16x16" type="image/png">
<link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css">

<style type="text/css">
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  padding: 0;
  margin: 1rem;
  /*font-family: 'Helvetica Neue',Helvetica,Arial,'Microsoft YaHei',sans-serif;*/
  font-family:  Verdana, Arial;
  font-size: 1rem;
  /*line-height: 1.5;*/
  color: #606c71;
  background-color: rgb(240,240,240);

  position: relative;
  min-height: 100%;
}

a {
  color: green;
  text-decoration: none;
}

a:active, a:hover {
  outline: 0;
}

a:hover {
    text-decoration: underline;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
  padding: 0.5em;
  color: #000;
  background-color: rgba(255, 200, 0);
  text-align: right;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    margin-left: 1rem;
    font-weight: normal;
    color: #000;
  }

/*
p {
    margin-bottom: 1em;*
  }
*/


code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
  color: #567482;
}

code {
    padding: 2px 4px;
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 0.9rem;
    color: #567482;
    background-color: #f3f6fa;
    border-radius: 0.3rem;
}


table {
  /*border-collapse: collapse;*/
  /*border: 1px;*/
  margin: 1rem;
}

td, th {
  white-space:nowrap;
  padding: 0 0.5rem;
  /*border: 1px solid red;*/
}

tr {
  border: 1px solid rgba(21,153,87, 0.3);
}

ul,ol {
  margin-top: 0;
}

.lookahead {
    background-color: rgba(21,153,87, 0.3);
}

.title {
font-size: 2em;
margin: 0 0;
  padding: 0.5em;
  color: #fff;
  background-color: #159957;
  text-align: center;
}

.small {
  display: inline;
  padding-bottom: 0;
  font-size: 0.8rem;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  color: black;
  vertical-align: bottom;
}

.token {
    display: inline;
    padding: 2px 4px;
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 1.2rem;
    color: black;
}

.nonterm {
    display: inline;
    color: black;
}

.symdesc {
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}

.nextsymdesc {
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
    margin-left: 2rem;
}

.note {
    font-size: 1em;
    margin: 0 4rem;
    color: #f00;
}
/*
.indexItem {
    margin: 0.2rem 1rem;
    display: inline-block;
}
*/
.log_error {
    color: #f00;
}

.footer {
	margin: 0;
	padding: 1rem;
	border-top: solid 2px #eff0f1;
	color: rgba(255,255,255,0.7);
	text-align: center;
	font-size: 1rem;
	color: #fff;
	background-color: #159957;
	background-image: linear-gradient(120deg, #155799, #159957)
}
.footer p {
	margin: 0;
	line-height: 1.6;
	color: rgba(255,255,255,0.7)
}
.footer a {
	color: #fff
}
.footer a:hover {
	text-decoration: none
}
.footer .mapLocation {
	float: left
}
.footer .contact {
	display: inline-block;
	margin-left: 2rem
}
.footer .description {
	display: inline-block
}

</style>
</head>

<body>
    <div class='title'>C++11 BNF Grammar</small></div>

<p>整理本文的目的是为了方便快速查阅Cpp的语法。文尾提供了非终结符的索引。</p>

<p>preprocess的start symbol是<a href="#preprocessing-file">preprocessing-file</a>.</p>

<p>cpp的start symbol是<a href="#translation-unit">translation-unit</a>.</p>

<p>zcatt创建于Jan20,2020</p>

<p>email:  <a href="mailto:swordUML@163.com">swordUML@163.com</a></p>

<p>github:  <a href="http://zcatt.github.io">http://zcatt.github.io</a> </p>

<p>gitee:  <a href="http://zcatt.gitee.io">http://zcatt.gitee.io</a> </p>

<h1><a id="content"></a>Content</h1><ui>
<ul><a href="#[gram.key]">[gram.key]</a></ul>
<ul><a href="#[gram.lex]">[gram.lex]</a></ul>
<ul><a href="#[gram.basic]">[gram.basic]</a></ul>
<ul><a href="#[gram.expr]">[gram.expr]</a></ul>
<ul><a href="#[gram.stmt]">[gram.stmt]</a></ul>
<ul><a href="#[gram.dcl]">[gram.dcl]</a></ul>
<ul><a href="#[gram.decl]">[gram.decl]</a></ul>
<ul><a href="#[gram.class]">[gram.class]</a></ul>
<ul><a href="#[gram.derived]">[gram.derived]</a></ul>
<ul><a href="#[gram.special]">[gram.special]</a></ul>
<ul><a href="#[gram.over]">[gram.over]</a></ul>
<ul><a href="#[gram.temp]">[gram.temp]</a></ul>
<ul><a href="#[gram.except]">[gram.except]</a></ul>
<ul><a href="#[gram.cpp]">[gram.cpp]</a></ul>
<ul><a href="#index">Index</a></ul>
</ui>
<h1><a id="[gram.key]"></a>[gram.key]</h1>
<table><tr><td><a id="typedef-name"><div class="nonterm">typedef-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="namespace-name"><div class="nonterm">namespace-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#original-namespace-name">original-namespace-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#namespace-alias">namespace-alias</a></div> </td></tr>
<tr><td><a id="original-namespace-name"><div class="nonterm">original-namespace-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="namespace-alias"><div class="nonterm">namespace-alias:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="class-name"><div class="nonterm">class-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td><a id="enum-name"><div class="nonterm">enum-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="template-name"><div class="nonterm">template-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
</table><h1><a id="[gram.lex]"></a>[gram.lex]</h1>
<table><tr><td><a id="hex-quad"><div class="nonterm">hex-quad:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> </td></tr>
<tr><td><a id="universal-character-name"><div class="nonterm">universal-character-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">\u</div> <div class="nonterm"><a href="#hex-quad">hex-quad</a></div> </td></tr>
<tr><td></td><td><div class="token">\U</div> <div class="nonterm"><a href="#hex-quad">hex-quad</a></div> <div class="nonterm"><a href="#hex-quad">hex-quad</a></div> </td></tr>
<tr><td><a id="preprocessing-token"><div class="nonterm">preprocessing-token:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#header-name">header-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-number">pp-number</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#character-literal">character-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-character-literal">user-defined-character-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#string-literal">string-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-string-literal">user-defined-string-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#preprocessing-op-or-punc">preprocessing-op-or-punc</a></div> </td></tr>
<tr><td></td><td><p class="symdesc">each non-white-space character that cannot be one of the above</p></td></tr>
<tr><td><a id="token"><div class="nonterm">token:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#keyword">keyword</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#literal">literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#operator">operator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#punctuator">punctuator</a></div> </td></tr>
<tr><td><a id="header-name"><div class="nonterm">header-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token"><</div> <div class="nonterm"><a href="#h-char-sequence">h-char-sequence</a></div> <div class="token">></div> </td></tr>
<tr><td></td><td><div class="token">"</div> <div class="nonterm"><a href="#q-char-sequence">q-char-sequence</a></div> <div class="token">"</div> </td></tr>
<tr><td><a id="h-char-sequence"><div class="nonterm">h-char-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#h-char">h-char</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#h-char-sequence">h-char-sequence</a></div> <div class="nonterm"><a href="#h-char">h-char</a></div> </td></tr>
<tr><td><a id="h-char"><div class="nonterm">h-char:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">any member of the source character set except new-line and ></p></td></tr>
<tr><td><a id="q-char-sequence"><div class="nonterm">q-char-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#q-char">q-char</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#q-char-sequence">q-char-sequence</a></div> <div class="nonterm"><a href="#q-char">q-char</a></div> </td></tr>
<tr><td><a id="q-char"><div class="nonterm">q-char:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">any member of the source character set except new-line and "</p></td></tr>
<tr><td><a id="pp-number"><div class="nonterm">pp-number:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td></td><td><div class="token">.</div> <div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-number">pp-number</a></div> <div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-number">pp-number</a></div> <div class="nonterm"><a href="#identifier-nondigit">identifier-nondigit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-number">pp-number</a></div> <div class="token">e</div> <div class="nonterm"><a href="#sign">sign</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-number">pp-number</a></div> <div class="token">E</div> <div class="nonterm"><a href="#sign">sign</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-number">pp-number</a></div> <div class="token">.</div> </td></tr>
<tr><td><a id="identifier"><div class="nonterm">identifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier-nondigit">identifier-nondigit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#identifier-nondigit">identifier-nondigit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td><a id="identifier-nondigit"><div class="nonterm">identifier-nondigit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nondigit">nondigit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#universal-character-name">universal-character-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#other">other</a></div> <div class="nonterm"><a href="#implementation-defined">implementation-defined</a></div> <div class="nonterm"><a href="#characters">characters</a></div> </td></tr>
<tr><td><a id="nondigit"><div class="nonterm">nondigit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">a</div> </td></tr>
<tr><td></td><td><div class="token">b</div> </td></tr>
<tr><td></td><td><div class="token">c</div> </td></tr>
<tr><td></td><td><div class="token">d</div> </td></tr>
<tr><td></td><td><div class="token">e</div> </td></tr>
<tr><td></td><td><div class="token">f</div> </td></tr>
<tr><td></td><td><div class="token">g</div> </td></tr>
<tr><td></td><td><div class="token">h</div> </td></tr>
<tr><td></td><td><div class="token">i</div> </td></tr>
<tr><td></td><td><div class="token">j</div> </td></tr>
<tr><td></td><td><div class="token">k</div> </td></tr>
<tr><td></td><td><div class="token">l</div> </td></tr>
<tr><td></td><td><div class="token">m</div> </td></tr>
<tr><td></td><td><div class="token">n</div> </td></tr>
<tr><td></td><td><div class="token">o</div> </td></tr>
<tr><td></td><td><div class="token">p</div> </td></tr>
<tr><td></td><td><div class="token">q</div> </td></tr>
<tr><td></td><td><div class="token">r</div> </td></tr>
<tr><td></td><td><div class="token">s</div> </td></tr>
<tr><td></td><td><div class="token">t</div> </td></tr>
<tr><td></td><td><div class="token">u</div> </td></tr>
<tr><td></td><td><div class="token">v</div> </td></tr>
<tr><td></td><td><div class="token">w</div> </td></tr>
<tr><td></td><td><div class="token">x</div> </td></tr>
<tr><td></td><td><div class="token">y</div> </td></tr>
<tr><td></td><td><div class="token">z</div> </td></tr>
<tr><td></td><td><div class="token">A</div> </td></tr>
<tr><td></td><td><div class="token">B</div> </td></tr>
<tr><td></td><td><div class="token">C</div> </td></tr>
<tr><td></td><td><div class="token">D</div> </td></tr>
<tr><td></td><td><div class="token">E</div> </td></tr>
<tr><td></td><td><div class="token">F</div> </td></tr>
<tr><td></td><td><div class="token">G</div> </td></tr>
<tr><td></td><td><div class="token">H</div> </td></tr>
<tr><td></td><td><div class="token">I</div> </td></tr>
<tr><td></td><td><div class="token">J</div> </td></tr>
<tr><td></td><td><div class="token">K</div> </td></tr>
<tr><td></td><td><div class="token">L</div> </td></tr>
<tr><td></td><td><div class="token">M</div> </td></tr>
<tr><td></td><td><div class="token">N</div> </td></tr>
<tr><td></td><td><div class="token">O</div> </td></tr>
<tr><td></td><td><div class="token">P</div> </td></tr>
<tr><td></td><td><div class="token">Q</div> </td></tr>
<tr><td></td><td><div class="token">R</div> </td></tr>
<tr><td></td><td><div class="token">S</div> </td></tr>
<tr><td></td><td><div class="token">T</div> </td></tr>
<tr><td></td><td><div class="token">U</div> </td></tr>
<tr><td></td><td><div class="token">V</div> </td></tr>
<tr><td></td><td><div class="token">W</div> </td></tr>
<tr><td></td><td><div class="token">X</div> </td></tr>
<tr><td></td><td><div class="token">Y</div> </td></tr>
<tr><td></td><td><div class="token">Z</div> </td></tr>
<tr><td></td><td><div class="token">_</div> </td></tr>
<tr><td><a id="digit"><div class="nonterm">digit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">0</div> </td></tr>
<tr><td></td><td><div class="token">1</div> </td></tr>
<tr><td></td><td><div class="token">2</div> </td></tr>
<tr><td></td><td><div class="token">3</div> </td></tr>
<tr><td></td><td><div class="token">4</div> </td></tr>
<tr><td></td><td><div class="token">5</div> </td></tr>
<tr><td></td><td><div class="token">6</div> </td></tr>
<tr><td></td><td><div class="token">7</div> </td></tr>
<tr><td></td><td><div class="token">8</div> </td></tr>
<tr><td></td><td><div class="token">9</div> </td></tr>
<tr><td><a id="preprocessing-op-or-punc"><div class="nonterm">preprocessing-op-or-punc:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">{</div> </td></tr>
<tr><td></td><td><div class="token">}</div> </td></tr>
<tr><td></td><td><div class="token">[</div> </td></tr>
<tr><td></td><td><div class="token">]</div> </td></tr>
<tr><td></td><td><div class="token">#</div> </td></tr>
<tr><td></td><td><div class="token">##</div> </td></tr>
<tr><td></td><td><div class="token">(</div> </td></tr>
<tr><td></td><td><div class="token">)</div> </td></tr>
<tr><td></td><td><div class="token"><:</div> </td></tr>
<tr><td></td><td><div class="token">:></div> </td></tr>
<tr><td></td><td><div class="token"><%</div> </td></tr>
<tr><td></td><td><div class="token">%></div> </td></tr>
<tr><td></td><td><div class="token">%:</div> </td></tr>
<tr><td></td><td><div class="token">%:%:</div> </td></tr>
<tr><td></td><td><div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">:</div> </td></tr>
<tr><td></td><td><div class="token">...</div> </td></tr>
<tr><td></td><td><div class="token">new</div> </td></tr>
<tr><td></td><td><div class="token">delete</div> </td></tr>
<tr><td></td><td><div class="token">?</div> </td></tr>
<tr><td></td><td><div class="token">::</div> </td></tr>
<tr><td></td><td><div class="token">.</div> </td></tr>
<tr><td></td><td><div class="token">.*</div> </td></tr>
<tr><td></td><td><div class="token">+</div> </td></tr>
<tr><td></td><td><div class="token">-</div> </td></tr>
<tr><td></td><td><div class="token">*</div> </td></tr>
<tr><td></td><td><div class="token">/</div> </td></tr>
<tr><td></td><td><div class="token">%</div> </td></tr>
<tr><td></td><td><div class="token">ˆ</div> </td></tr>
<tr><td></td><td><div class="token">&</div> </td></tr>
<tr><td></td><td><div class="token">|</div> </td></tr>
<tr><td></td><td><div class="token">~</div> </td></tr>
<tr><td></td><td><div class="token">!</div> </td></tr>
<tr><td></td><td><div class="token">=</div> </td></tr>
<tr><td></td><td><div class="token"><</div> </td></tr>
<tr><td></td><td><div class="token">></div> </td></tr>
<tr><td></td><td><div class="token">+=</div> </td></tr>
<tr><td></td><td><div class="token">-=</div> </td></tr>
<tr><td></td><td><div class="token">*=</div> </td></tr>
<tr><td></td><td><div class="token">/=</div> </td></tr>
<tr><td></td><td><div class="token">%=</div> </td></tr>
<tr><td></td><td><div class="token">ˆ=</div> </td></tr>
<tr><td></td><td><div class="token">&=</div> </td></tr>
<tr><td></td><td><div class="token">|=</div> </td></tr>
<tr><td></td><td><div class="token"><<</div> </td></tr>
<tr><td></td><td><div class="token">>></div> </td></tr>
<tr><td></td><td><div class="token">>>=</div> </td></tr>
<tr><td></td><td><div class="token"><<=</div> </td></tr>
<tr><td></td><td><div class="token">==</div> </td></tr>
<tr><td></td><td><div class="token">!=</div> </td></tr>
<tr><td></td><td><div class="token"><=</div> </td></tr>
<tr><td></td><td><div class="token">>=</div> </td></tr>
<tr><td></td><td><div class="token">&&</div> </td></tr>
<tr><td></td><td><div class="token">||</div> </td></tr>
<tr><td></td><td><div class="token">++</div> </td></tr>
<tr><td></td><td><div class="token">--</div> </td></tr>
<tr><td></td><td><div class="token">,</div> </td></tr>
<tr><td></td><td><div class="token">->*</div> </td></tr>
<tr><td></td><td><div class="token">-></div> </td></tr>
<tr><td></td><td><div class="token">and</div> </td></tr>
<tr><td></td><td><div class="token">and_eq</div> </td></tr>
<tr><td></td><td><div class="token">bitand</div> </td></tr>
<tr><td></td><td><div class="token">bitor</div> </td></tr>
<tr><td></td><td><div class="token">compl</div> </td></tr>
<tr><td></td><td><div class="token">not</div> </td></tr>
<tr><td></td><td><div class="token">not_eq</div> </td></tr>
<tr><td></td><td><div class="token">or</div> </td></tr>
<tr><td></td><td><div class="token">or_eq</div> </td></tr>
<tr><td></td><td><div class="token">xor</div> </td></tr>
<tr><td></td><td><div class="token">xor_eq</div> </td></tr>
<tr><td><a id="literal"><div class="nonterm">literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#integer-literal">integer-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#character-literal">character-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#floating-literal">floating-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#string-literal">string-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#boolean-literal">boolean-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pointer-literal">pointer-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-literal">user-defined-literal</a></div> </td></tr>
<tr><td><a id="integer-literal"><div class="nonterm">integer-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decimal-literal">decimal-literal</a></div> <div class="nonterm"><a href="#integer-suffix">integer-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#octal-literal">octal-literal</a></div> <div class="nonterm"><a href="#integer-suffix">integer-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#hexadecimal-literal">hexadecimal-literal</a></div> <div class="nonterm"><a href="#integer-suffix">integer-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="decimal-literal"><div class="nonterm">decimal-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nonzero-digit">nonzero-digit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decimal-literal">decimal-literal</a></div> <div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td><a id="octal-literal"><div class="nonterm">octal-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">0</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#octal-literal">octal-literal</a></div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> </td></tr>
<tr><td><a id="hexadecimal-literal"><div class="nonterm">hexadecimal-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">0x</div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> </td></tr>
<tr><td></td><td><div class="token">0X</div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#hexadecimal-literal">hexadecimal-literal</a></div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> </td></tr>
<tr><td><a id="nonzero-digit"><div class="nonterm">nonzero-digit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">1</div> </td></tr>
<tr><td></td><td><div class="token">2</div> </td></tr>
<tr><td></td><td><div class="token">3</div> </td></tr>
<tr><td></td><td><div class="token">4</div> </td></tr>
<tr><td></td><td><div class="token">5</div> </td></tr>
<tr><td></td><td><div class="token">6</div> </td></tr>
<tr><td></td><td><div class="token">7</div> </td></tr>
<tr><td></td><td><div class="token">8</div> </td></tr>
<tr><td></td><td><div class="token">9</div> </td></tr>
<tr><td><a id="octal-digit"><div class="nonterm">octal-digit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">0</div> </td></tr>
<tr><td></td><td><div class="token">1</div> </td></tr>
<tr><td></td><td><div class="token">2</div> </td></tr>
<tr><td></td><td><div class="token">3</div> </td></tr>
<tr><td></td><td><div class="token">4</div> </td></tr>
<tr><td></td><td><div class="token">5</div> </td></tr>
<tr><td></td><td><div class="token">6</div> </td></tr>
<tr><td></td><td><div class="token">7</div> </td></tr>
<tr><td><a id="hexadecimal-digit"><div class="nonterm">hexadecimal-digit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">0</div> </td></tr>
<tr><td></td><td><div class="token">1</div> </td></tr>
<tr><td></td><td><div class="token">2</div> </td></tr>
<tr><td></td><td><div class="token">3</div> </td></tr>
<tr><td></td><td><div class="token">4</div> </td></tr>
<tr><td></td><td><div class="token">5</div> </td></tr>
<tr><td></td><td><div class="token">6</div> </td></tr>
<tr><td></td><td><div class="token">7</div> </td></tr>
<tr><td></td><td><div class="token">8</div> </td></tr>
<tr><td></td><td><div class="token">9</div> </td></tr>
<tr><td></td><td><div class="token">a</div> </td></tr>
<tr><td></td><td><div class="token">b</div> </td></tr>
<tr><td></td><td><div class="token">c</div> </td></tr>
<tr><td></td><td><div class="token">d</div> </td></tr>
<tr><td></td><td><div class="token">e</div> </td></tr>
<tr><td></td><td><div class="token">f</div> </td></tr>
<tr><td></td><td><div class="token">A</div> </td></tr>
<tr><td></td><td><div class="token">B</div> </td></tr>
<tr><td></td><td><div class="token">C</div> </td></tr>
<tr><td></td><td><div class="token">D</div> </td></tr>
<tr><td></td><td><div class="token">E</div> </td></tr>
<tr><td></td><td><div class="token">F</div> </td></tr>
<tr><td><a id="integer-suffix"><div class="nonterm">integer-suffix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#unsigned-suffix">unsigned-suffix</a></div> <div class="nonterm"><a href="#long-suffix">long-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#unsigned-suffix">unsigned-suffix</a></div> <div class="nonterm"><a href="#long-long-suffix">long-long-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#long-suffix">long-suffix</a></div> <div class="nonterm"><a href="#unsigned-suffix">unsigned-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#long-long-suffix">long-long-suffix</a></div> <div class="nonterm"><a href="#unsigned-suffix">unsigned-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="unsigned-suffix"><div class="nonterm">unsigned-suffix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">u</div> </td></tr>
<tr><td></td><td><div class="token">U</div> </td></tr>
<tr><td><a id="long-suffix"><div class="nonterm">long-suffix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">l</div> </td></tr>
<tr><td></td><td><div class="token">L</div> </td></tr>
<tr><td><a id="long-long-suffix"><div class="nonterm">long-long-suffix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">ll</div> </td></tr>
<tr><td></td><td><div class="token">LL</div> </td></tr>
<tr><td><a id="character-literal"><div class="nonterm">character-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">\</div> <div class="nonterm"><a href="#c-char-sequence">c-char-sequence</a></div> <div class="token">\</div> </td></tr>
<tr><td></td><td><div class="token">u\</div> <div class="nonterm"><a href="#c-char-sequence">c-char-sequence</a></div> <div class="token">\</div> </td></tr>
<tr><td></td><td><div class="token">U\</div> <div class="nonterm"><a href="#c-char-sequence">c-char-sequence</a></div> <div class="token">\</div> </td></tr>
<tr><td></td><td><div class="token">L\</div> <div class="nonterm"><a href="#c-char-sequence">c-char-sequence</a></div> <div class="token">\</div> </td></tr>
<tr><td><a id="c-char-sequence"><div class="nonterm">c-char-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#c-char">c-char</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#c-char-sequence">c-char-sequence</a></div> <div class="nonterm"><a href="#c-char">c-char</a></div> </td></tr>
<tr><td><a id="c-char"><div class="nonterm">c-char:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">any member of the source character set except the single-quote ’, backslash \, or new-line character</p></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#escape-sequence">escape-sequence</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#universal-character-name">universal-character-name</a></div> </td></tr>
<tr><td><a id="escape-sequence"><div class="nonterm">escape-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-escape-sequence">simple-escape-sequence</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#octal-escape-sequence">octal-escape-sequence</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#hexadecimal-escape-sequence">hexadecimal-escape-sequence</a></div> </td></tr>
<tr><td><a id="simple-escape-sequence"><div class="nonterm">simple-escape-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">\’</div> </td></tr>
<tr><td></td><td><div class="token">\"</div> </td></tr>
<tr><td></td><td><div class="token">\?</div> </td></tr>
<tr><td></td><td><div class="token">\\</div> </td></tr>
<tr><td></td><td><div class="token">\a</div> </td></tr>
<tr><td></td><td><div class="token">\b</div> </td></tr>
<tr><td></td><td><div class="token">\f</div> </td></tr>
<tr><td></td><td><div class="token">\n</div> </td></tr>
<tr><td></td><td><div class="token">\r</div> </td></tr>
<tr><td></td><td><div class="token">\t</div> </td></tr>
<tr><td></td><td><div class="token">\v</div> </td></tr>
<tr><td><a id="octal-escape-sequence"><div class="nonterm">octal-escape-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">\</div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> </td></tr>
<tr><td></td><td><div class="token">\</div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> </td></tr>
<tr><td></td><td><div class="token">\</div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> <div class="nonterm"><a href="#octal-digit">octal-digit</a></div> </td></tr>
<tr><td><a id="hexadecimal-escape-sequence"><div class="nonterm">hexadecimal-escape-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">\x</div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#hexadecimal-escape-sequence">hexadecimal-escape-sequence</a></div> <div class="nonterm"><a href="#hexadecimal-digit">hexadecimal-digit</a></div> </td></tr>
<tr><td><a id="floating-literal"><div class="nonterm">floating-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#fractional-constant">fractional-constant</a></div> <div class="nonterm"><a href="#exponent-part">exponent-part</a></div><div class="small">?</div> <div class="nonterm"><a href="#floating-suffix">floating-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> <div class="nonterm"><a href="#exponent-part">exponent-part</a></div> <div class="nonterm"><a href="#floating-suffix">floating-suffix</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="fractional-constant"><div class="nonterm">fractional-constant:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div><div class="small">?</div> <div class="token">.</div> <div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> <div class="token">.</div> </td></tr>
<tr><td><a id="exponent-part"><div class="nonterm">exponent-part:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">e</div> <div class="nonterm"><a href="#sig">sig</a></div><div class="small">?</div> <div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> </td></tr>
<tr><td></td><td><div class="token">E</div> <div class="nonterm"><a href="#sign">sign</a></div><div class="small">?</div> <div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> </td></tr>
<tr><td><a id="sign"><div class="nonterm">sign:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">+</div> </td></tr>
<tr><td></td><td><div class="token">-</div> </td></tr>
<tr><td><a id="digit-sequence"><div class="nonterm">digit-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> <div class="nonterm"><a href="#digit">digit</a></div> </td></tr>
<tr><td><a id="floating-suffix"><div class="nonterm">floating-suffix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">f</div> </td></tr>
<tr><td></td><td><div class="token">l</div> </td></tr>
<tr><td></td><td><div class="token">F</div> </td></tr>
<tr><td></td><td><div class="token">L</div> </td></tr>
<tr><td><a id="string-literal"><div class="nonterm">string-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#encoding-prefix">encoding-prefix</a></div><div class="small">?</div> <div class="token">"</div> <div class="nonterm"><a href="#s-char-sequence">s-char-sequence</a></div><div class="small">?</div> <div class="token">"</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#encoding-prefix">encoding-prefix</a></div><div class="small">?</div> <div class="token">R</div> <div class="nonterm"><a href="#raw-string">raw-string</a></div> </td></tr>
<tr><td><a id="encoding-prefix"><div class="nonterm">encoding-prefix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">u8</div> </td></tr>
<tr><td></td><td><div class="token">u</div> </td></tr>
<tr><td></td><td><div class="token">U</div> </td></tr>
<tr><td></td><td><div class="token">L</div> </td></tr>
<tr><td><a id="s-char-sequence"><div class="nonterm">s-char-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#s-char">s-char</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#s-char-sequence">s-char-sequence</a></div> <div class="nonterm"><a href="#s-char">s-char</a></div> </td></tr>
<tr><td><a id="s-char"><div class="nonterm">s-char:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">any member of the source character set except the double-quote ", backslash \, or new-line character</p></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#escape-sequence">escape-sequence</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#universal-character-name">universal-character-name</a></div> </td></tr>
<tr><td><a id="raw-string"><div class="nonterm">raw-string:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">"</div> <div class="nonterm"><a href="#d-char-sequence">d-char-sequence</a></div><div class="small">?</div> <div class="token">(</div> <div class="nonterm"><a href="#r-char-sequence">r-char-sequence</a></div><div class="small">?</div> <div class="token">)</div> <div class="nonterm"><a href="#d-char-sequence">d-char-sequence</a></div><div class="small">?</div> <div class="token">"</div> </td></tr>
<tr><td><a id="r-char-sequence"><div class="nonterm">r-char-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#r-char">r-char</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#r-char-sequence">r-char-sequence</a></div> <div class="nonterm"><a href="#r-char">r-char</a></div> </td></tr>
<tr><td><a id="r-char"><div class="nonterm">r-char:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">any member of the source character set, except </p></td></tr>
<tr><td></td><td><p class="nextsymdesc">a right parenthesis ) followed by the initial d-char-sequence   </p></td></tr>
<tr><td></td><td><p class="nextsymdesc">(which may be empty) followed by a double quote ".</p></td></tr>
<tr><td><a id="d-char-sequence"><div class="nonterm">d-char-sequence:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#d-char">d-char</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#d-char-sequence">d-char-sequence</a></div> <div class="nonterm"><a href="#d-char">d-char</a></div> </td></tr>
<tr><td><a id="d-char"><div class="nonterm">d-char:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">any member of the basic source character set except:   </p></td></tr>
<tr><td></td><td><p class="nextsymdesc">space, the left parenthesis (, the right parenthesis ), the backslash \,    </p></td></tr>
<tr><td></td><td><p class="nextsymdesc">and the control characters representing horizontal tab, </p></td></tr>
<tr><td></td><td><p class="nextsymdesc">vertical tab, form feed, and newline.</p></td></tr>
<tr><td><a id="boolean-literal"><div class="nonterm">boolean-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">false</div> </td></tr>
<tr><td></td><td><div class="token">true</div> </td></tr>
<tr><td><a id="pointer-literal"><div class="nonterm">pointer-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">nullptr</div> </td></tr>
<tr><td><a id="user-defined-literal"><div class="nonterm">user-defined-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-integer-literal">user-defined-integer-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-floating-literal">user-defined-floating-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-string-literal">user-defined-string-literal</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-character-literal">user-defined-character-literal</a></div> </td></tr>
<tr><td><a id="user-defined-integer-literal"><div class="nonterm">user-defined-integer-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decimal-literal">decimal-literal</a></div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#octal-literal">octal-literal</a></div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#hexadecimal-literal">hexadecimal-literal</a></div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td><a id="user-defined-floating-literal"><div class="nonterm">user-defined-floating-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#fractional-constant">fractional-constant</a></div> <div class="nonterm"><a href="#exponent-part">exponent-part</a></div><div class="small">?</div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#digit-sequence">digit-sequence</a></div> <div class="nonterm"><a href="#exponent-part">exponent-part</a></div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td><a id="user-defined-string-literal"><div class="nonterm">user-defined-string-literal:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#string-literal">string-literal</a></div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#user-defined-character-literal:">user-defined-character-literal:</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#character-literal">character-literal</a></div> <div class="nonterm"><a href="#ud-suffix">ud-suffix</a></div> </td></tr>
<tr><td><a id="ud-suffix"><div class="nonterm">ud-suffix:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
</table><h1><a id="[gram.basic]"></a>[gram.basic]</h1>
<table><tr><td><a id="translation-unit"><div class="nonterm">translation-unit:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declaration-seq">declaration-seq</a></div><div class="small">?</div> </td></tr>
</table><h1><a id="[gram.expr]"></a>[gram.expr]</h1>
<table><tr><td><a id="primary-expression"><div class="nonterm">primary-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#literal">literal</a></div> </td></tr>
<tr><td></td><td><div class="token">this</div> </td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#id-expression">id-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#lambda-expression">lambda-expression</a></div> </td></tr>
<tr><td><a id="id-expression"><div class="nonterm">id-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#unqualified-id">unqualified-id</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#qualified-id">qualified-id</a></div> </td></tr>
<tr><td><a id="unqualified-id"><div class="nonterm">unqualified-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#operator-function-id">operator-function-id</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#conversion-function-id">conversion-function-id</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#literal-operator-id">literal-operator-id</a></div> </td></tr>
<tr><td></td><td><div class="token">~</div> <div class="nonterm"><a href="#class-name">class-name</a></div> </td></tr>
<tr><td></td><td><div class="token">~</div> <div class="nonterm"><a href="#decltype-specifier">decltype-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-id">template-id</a></div> </td></tr>
<tr><td><a id="qualified-id"><div class="nonterm">qualified-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#template">template</a></div><div class="small">?</div> <div class="nonterm"><a href="#unqualified-id">unqualified-id</a></div> </td></tr>
<tr><td></td><td><div class="token">::</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="token">::</div> <div class="nonterm"><a href="#operator-function-id">operator-function-id</a></div> </td></tr>
<tr><td></td><td><div class="token">::</div> <div class="nonterm"><a href="#literal-operator-id">literal-operator-id</a></div> </td></tr>
<tr><td></td><td><div class="token">::</div> <div class="nonterm"><a href="#template-id">template-id</a></div> </td></tr>
<tr><td><a id="nested-name-specifier"><div class="nonterm">nested-name-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">::</div><div class="small">?</div> <div class="nonterm"><a href="#type-name">type-name</a></div> <div class="token">::</div> </td></tr>
<tr><td></td><td><div class="token">::</div><div class="small">?</div> <div class="nonterm"><a href="#namespace-name">namespace-name</a></div> <div class="token">::</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decltype-specifier">decltype-specifier</a></div> <div class="token">::</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="token">::</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#template">template</a></div><div class="small">?</div> <div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> <div class="token">::</div> </td></tr>
<tr><td><a id="lambda-expression"><div class="nonterm">lambda-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#lambda-introducer">lambda-introducer</a></div> <div class="nonterm"><a href="#lambda-declarator">lambda-declarator</a></div><div class="small">?</div> <div class="nonterm"><a href="#compound-statement">compound-statement</a></div> </td></tr>
<tr><td><a id="lambda-introducer"><div class="nonterm">lambda-introducer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">[</div> <div class="nonterm"><a href="#lambda-capture">lambda-capture</a></div><div class="small">?</div> <div class="token">]</div> </td></tr>
<tr><td><a id="lambda-capture"><div class="nonterm">lambda-capture:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#capture-default">capture-default</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#capture-list">capture-list</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#capture-default">capture-default</a></div> <div class="token">,</div> <div class="nonterm"><a href="#capture-list">capture-list</a></div> </td></tr>
<tr><td><a id="capture-default"><div class="nonterm">capture-default:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">&</div> </td></tr>
<tr><td></td><td><div class="token">=</div> </td></tr>
<tr><td><a id="capture-list"><div class="nonterm">capture-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#capture">capture</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#capture-list">capture-list</a></div> <div class="nonterm"><a href="#,">,</a></div> <div class="nonterm"><a href="#capture">capture</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td><a id="capture"><div class="nonterm">capture:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="token">&</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="token">this</div> </td></tr>
<tr><td><a id="lambda-declarator"><div class="nonterm">lambda-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#parameter-declaration-clause">parameter-declaration-clause</a></div> <div class="token">)</div> <div class="nonterm"><a href="#mutable">mutable</a></div><div class="small">?</div> <div class="nonterm"><a href="#exception-specification">exception-specification</a></div><div class="small">?</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#trailing-return-type">trailing-return-type</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="postfix-expression"><div class="nonterm">postfix-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#primary-expression">primary-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">[</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">]</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">[</div> <div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> <div class="token">]</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-type-specifier">simple-type-specifier</a></div> <div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#typename-specifier">typename-specifier</a></div> <div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-type-specifier">simple-type-specifier</a></div> <div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#typename-specifier">typename-specifier</a></div> <div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">.</div> <div class="nonterm"><a href="#template">template</a></div><div class="small">?</div> <div class="nonterm"><a href="#id-expression">id-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">-></div> <div class="nonterm"><a href="#template">template</a></div><div class="small">?</div> <div class="nonterm"><a href="#id-expression">id-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">.</div> <div class="nonterm"><a href="#pseudo-destructor-name">pseudo-destructor-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">-></div> <div class="nonterm"><a href="#pseudo-destructor-name">pseudo-destructor-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">++</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> <div class="token">--</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#dynamic_cast">dynamic_cast</a></div> <div class="token"><</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">></div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#static_cast">static_cast</a></div> <div class="token"><</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">></div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#reinterpret_cast">reinterpret_cast</a></div> <div class="token"><</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">></div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#const_cast">const_cast</a></div> <div class="token"><</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">></div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#typeid">typeid</a></div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#typeid">typeid</a></div> <div class="token">(</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="expression-list"><div class="nonterm">expression-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#initializer-list">initializer-list</a></div> </td></tr>
<tr><td><a id="pseudo-destructor-name"><div class="nonterm">pseudo-destructor-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#type-name">type-name</a></div> <div class="token">::</div> <div class="token">~</div> <div class="nonterm"><a href="#type-name">type-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#template">template</a></div> <div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> <div class="token">::</div> <div class="token">~</div> <div class="nonterm"><a href="#type-name">type-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="token">~</div> <div class="nonterm"><a href="#type-name">type-name</a></div> </td></tr>
<tr><td></td><td><div class="token">~</div> <div class="nonterm"><a href="#decltype-specifier">decltype-specifier</a></div> </td></tr>
<tr><td><a id="unary-expression"><div class="nonterm">unary-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#postfix-expression">postfix-expression</a></div> </td></tr>
<tr><td></td><td><div class="token">++</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td></td><td><div class="token">--</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#unary-operator">unary-operator</a></div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#sizeof">sizeof</a></div> <div class="nonterm"><a href="#unary-expression">unary-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#sizeof">sizeof</a></div> <div class="token">(</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#sizeof">sizeof</a></div> <div class="token">...</div> <div class="token">(</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#alignof">alignof</a></div> <div class="token">(</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noexcept-expression">noexcept-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#new-expression">new-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#delete-expression">delete-expression</a></div> </td></tr>
<tr><td><a id="unary-operator"><div class="nonterm">unary-operator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">*</div> </td></tr>
<tr><td></td><td><div class="token">&</div> </td></tr>
<tr><td></td><td><div class="token">+</div> </td></tr>
<tr><td></td><td><div class="token">-</div> </td></tr>
<tr><td></td><td><div class="token">!</div> </td></tr>
<tr><td></td><td><div class="token">~</div> </td></tr>
<tr><td><a id="new-expression"><div class="nonterm">new-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">::</div><div class="small">?</div> <div class="token">new</div> <div class="nonterm"><a href="#new-placement">new-placement</a></div><div class="small">?</div> <div class="nonterm"><a href="#new-type-id">new-type-id</a></div> <div class="nonterm"><a href="#new-initializer">new-initializer</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">::</div><div class="small">?</div> <div class="token">new</div> <div class="nonterm"><a href="#new-placement">new-placement</a></div><div class="small">?</div> <div class="token">(</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">)</div> <div class="nonterm"><a href="#new-initializer">new-initializer</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="new-placement"><div class="nonterm">new-placement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="new-type-id"><div class="nonterm">new-type-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> <div class="nonterm"><a href="#new-declarator">new-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="new-declarator"><div class="nonterm">new-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-operator">ptr-operator</a></div> <div class="nonterm"><a href="#new-declarator">new-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-new-declarator">noptr-new-declarator</a></div> </td></tr>
<tr><td><a id="noptr-new-declarator"><div class="nonterm">noptr-new-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">[</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">]</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-new-declarator">noptr-new-declarator</a></div> <div class="token">[</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> <div class="token">]</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="new-initializer"><div class="nonterm">new-initializer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td><a id="delete-expression"><div class="nonterm">delete-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">::</div><div class="small">?</div> <div class="token">delete</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td></td><td><div class="token">::</div><div class="small">?</div> <div class="token">delete</div> <div class="token">[</div> <div class="token">]</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td><a id="noexcept-expression"><div class="nonterm">noexcept-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">noexcept</div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="cast-expression"><div class="nonterm">cast-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#unary-expression">unary-expression</a></div> </td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">)</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td><a id="pm-expression"><div class="nonterm">pm-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pm-expression">pm-expression</a></div> <div class="token">.*</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pm-expression">pm-expression</a></div> <div class="token">->*</div> <div class="nonterm"><a href="#cast-expression">cast-expression</a></div> </td></tr>
<tr><td><a id="multiplicative-expression"><div class="nonterm">multiplicative-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pm-expression">pm-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#multiplicative-expression">multiplicative-expression</a></div> <div class="token">*</div> <div class="nonterm"><a href="#pm-expression">pm-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#multiplicative-expression">multiplicative-expression</a></div> <div class="token">/</div> <div class="nonterm"><a href="#pm-expression">pm-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#multiplicative-expression">multiplicative-expression</a></div> <div class="token">%</div> <div class="nonterm"><a href="#pm-expression">pm-expression</a></div> </td></tr>
<tr><td><a id="additive-expression"><div class="nonterm">additive-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#multiplicative-expression">multiplicative-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#additive-expression">additive-expression</a></div> <div class="token">+</div> <div class="nonterm"><a href="#multiplicative-expression">multiplicative-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#additive-expression">additive-expression</a></div> <div class="token">-</div> <div class="nonterm"><a href="#multiplicative-expression">multiplicative-expression</a></div> </td></tr>
<tr><td><a id="shift-expression"><div class="nonterm">shift-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#additive-expression">additive-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#shift-expression">shift-expression</a></div> <div class="token"><<</div> <div class="nonterm"><a href="#additive-expression">additive-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#shift-expression">shift-expression</a></div> <div class="token">>></div> <div class="nonterm"><a href="#additive-expression">additive-expression</a></div> </td></tr>
<tr><td><a id="relational-expression"><div class="nonterm">relational-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#shift-expression">shift-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#relational-expression">relational-expression</a></div> <div class="token"><</div> <div class="nonterm"><a href="#shift-expression">shift-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#relational-expression">relational-expression</a></div> <div class="token">></div> <div class="nonterm"><a href="#shift-expression">shift-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#relational-expression">relational-expression</a></div> <div class="token"><=</div> <div class="nonterm"><a href="#shift-expression">shift-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#relational-expression">relational-expression</a></div> <div class="token">>=</div> <div class="nonterm"><a href="#shift-expression">shift-expression</a></div> </td></tr>
<tr><td><a id="equality-expression"><div class="nonterm">equality-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#relational-expression">relational-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#equality-expression">equality-expression</a></div> <div class="token">==</div> <div class="nonterm"><a href="#relational-expression">relational-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#equality-expression">equality-expression</a></div> <div class="token">!=</div> <div class="nonterm"><a href="#relational-expression">relational-expression</a></div> </td></tr>
<tr><td><a id="and-expression"><div class="nonterm">and-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#equality-expression">equality-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#and-expression">and-expression</a></div> <div class="token">&</div> <div class="nonterm"><a href="#equality-expression">equality-expression</a></div> </td></tr>
<tr><td><a id="exclusive-or-expression"><div class="nonterm">exclusive-or-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#and-expression">and-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#exclusive-or-expression">exclusive-or-expression</a></div> <div class="token">ˆ</div> <div class="nonterm"><a href="#and-expression">and-expression</a></div> </td></tr>
<tr><td><a id="inclusive-or-expression"><div class="nonterm">inclusive-or-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#exclusive-or-expression">exclusive-or-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#inclusive-or-expression">inclusive-or-expression</a></div> <div class="token">|</div> <div class="nonterm"><a href="#exclusive-or-expression">exclusive-or-expression</a></div> </td></tr>
<tr><td><a id="logical-and-expression"><div class="nonterm">logical-and-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#inclusive-or-expression">inclusive-or-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#logical-and-expression">logical-and-expression</a></div> <div class="token">&&</div> <div class="nonterm"><a href="#inclusive-or-expression">inclusive-or-expression</a></div> </td></tr>
<tr><td><a id="logical-or-expression"><div class="nonterm">logical-or-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#logical-and-expression">logical-and-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#logical-or-expression">logical-or-expression</a></div> <div class="token">||</div> <div class="nonterm"><a href="#logical-and-expression">logical-and-expression</a></div> </td></tr>
<tr><td><a id="conditional-expression"><div class="nonterm">conditional-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#logical-or-expression">logical-or-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#logical-or-expression">logical-or-expression</a></div> <div class="token">?</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">:</div> <div class="nonterm"><a href="#assignment-expression">assignment-expression</a></div> </td></tr>
<tr><td><a id="assignment-expression"><div class="nonterm">assignment-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#conditional-expression">conditional-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#logical-or-expression">logical-or-expression</a></div> <div class="nonterm"><a href="#assignment-operator">assignment-operator</a></div> <div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#throw-expression">throw-expression</a></div> </td></tr>
<tr><td><a id="assignment-operator"><div class="nonterm">assignment-operator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">=</div> </td></tr>
<tr><td></td><td><div class="token">*=</div> </td></tr>
<tr><td></td><td><div class="token">/=</div> </td></tr>
<tr><td></td><td><div class="token">%=</div> </td></tr>
<tr><td></td><td><div class="token">+=</div> </td></tr>
<tr><td></td><td><div class="token">-=</div> </td></tr>
<tr><td></td><td><div class="token">>>=</div> </td></tr>
<tr><td></td><td><div class="token"><<=</div> </td></tr>
<tr><td></td><td><div class="token">&=</div> </td></tr>
<tr><td></td><td><div class="token">ˆ=</div> </td></tr>
<tr><td></td><td><div class="token">|=</div> </td></tr>
<tr><td><a id="expression"><div class="nonterm">expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#assignment-expression">assignment-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#expression">expression</a></div> <div class="token">,</div> <div class="nonterm"><a href="#assignment-expression">assignment-expression</a></div> </td></tr>
<tr><td><a id="constant-expression"><div class="nonterm">constant-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#conditional-expression">conditional-expression</a></div> </td></tr>
</table><h1><a id="[gram.stmt]"></a>[gram.stmt]</h1>
<table><tr><td><a id="statement"><div class="nonterm">statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#labeled-statement">labeled-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#expression-statement">expression-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#compound-statement">compound-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#selection-statement">selection-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#iteration-statement">iteration-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#jump-statement">jump-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declaration-statement">declaration-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#try-block">try-block</a></div> </td></tr>
<tr><td><a id="labeled-statement"><div class="nonterm">labeled-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#:">:</a></div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="token">case</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> <div class="token">:</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="token">default</div> <div class="token">:</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td><a id="expression-statement"><div class="nonterm">expression-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#expression">expression</a></div><div class="small">?</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#compound-statement">compound-statement</a></div> <div class="token">:</div> </td></tr>
<tr><td></td><td><div class="token">{</div> <div class="nonterm"><a href="#statement-seq">statement-seq</a></div><div class="small">?</div> <div class="token">}</div> </td></tr>
<tr><td><a id="statement-seq"><div class="nonterm">statement-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#statement-seq">statement-seq</a></div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td><a id="selection-statement"><div class="nonterm">selection-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">if</div> <div class="token">(</div> <div class="nonterm"><a href="#condition">condition</a></div> <div class="token">)</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="token">if</div> <div class="token">(</div> <div class="nonterm"><a href="#condition">condition</a></div> <div class="token">)</div> <div class="nonterm"><a href="#statement">statement</a></div> <div class="token">else</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="token">switch</div> <div class="token">(</div> <div class="nonterm"><a href="#condition">condition</a></div> <div class="token">)</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td><a id="condition"><div class="nonterm">condition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#expression">expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#declarator">declarator</a></div> <div class="token">=</div> <div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#declarator">declarator</a></div> <div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td><a id="iteration-statement"><div class="nonterm">iteration-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">while</div> <div class="token">(</div> <div class="nonterm"><a href="#condition">condition</a></div> <div class="token">)</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="token">do</div> <div class="nonterm"><a href="#statement">statement</a></div> <div class="token">while</div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">for</div> <div class="token">(</div> <div class="nonterm"><a href="#for-init-statement">for-init-statement</a></div> <div class="nonterm"><a href="#condition">condition</a></div><div class="small">?</div> <div class="token">;</div> <div class="nonterm"><a href="#expression">expression</a></div><div class="small">?</div> <div class="token">)</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td></td><td><div class="token">for</div> <div class="token">(</div> <div class="nonterm"><a href="#for-range-declaration">for-range-declaration</a></div> <div class="token">:</div> <div class="nonterm"><a href="#for-range-initializer">for-range-initializer</a></div> <div class="token">)</div> <div class="nonterm"><a href="#statement">statement</a></div> </td></tr>
<tr><td><a id="for-init-statement"><div class="nonterm">for-init-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#expression-statement">expression-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-declaration">simple-declaration</a></div> </td></tr>
<tr><td><a id="for-range-declaration"><div class="nonterm">for-range-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#declarator">declarator</a></div> </td></tr>
<tr><td><a id="for-range-initializer"><div class="nonterm">for-range-initializer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#expression">expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td><a id="jump-statement"><div class="nonterm">jump-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">break</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">continue</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">return</div> <div class="nonterm"><a href="#expression">expression</a></div><div class="small">?</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">return</div> <div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">goto</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="declaration-statement"><div class="nonterm">declaration-statement:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#block-declaration">block-declaration</a></div> </td></tr>
</table><h1><a id="[gram.dcl]"></a>[gram.dcl]</h1>
<table><tr><td><a id="declaration-seq"><div class="nonterm">declaration-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declaration">declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declaration-seq">declaration-seq</a></div> <div class="nonterm"><a href="#declaration">declaration</a></div> </td></tr>
<tr><td><a id="declaration"><div class="nonterm">declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#block-declaration">block-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#function-definition">function-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-declaration">template-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#explicit-instantiation">explicit-instantiation</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#explicit-specialization">explicit-specialization</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#linkage-specification">linkage-specification</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#namespace-definition">namespace-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#empty-declaration">empty-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-declaration">attribute-declaration</a></div> </td></tr>
<tr><td><a id="block-declaration"><div class="nonterm">block-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-declaration">simple-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#asm-definition">asm-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#namespace-alias-definition">namespace-alias-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#using-declaration">using-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#using-directive">using-directive</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#static_assert-declaration">static_assert-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#alias-declaration">alias-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#opaque-enum-declaration">opaque-enum-declaration</a></div> </td></tr>
<tr><td><a id="alias-declaration"><div class="nonterm">alias-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">using</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="token">=</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="simple-declaration"><div class="nonterm">simple-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#init-declarator-list">init-declarator-list</a></div><div class="small">?</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#init-declarator-list">init-declarator-list</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="static_assert-declaration"><div class="nonterm">static_assert-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#static_assert">static_assert</a></div> <div class="token">(</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> <div class="token">,</div> <div class="nonterm"><a href="#string-literal">string-literal</a></div> <div class="token">)</div> <div class="token">;</div> </td></tr>
<tr><td><a id="empty-declaration"><div class="nonterm">empty-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">;</div> </td></tr>
<tr><td><a id="attribute-declaration"><div class="nonterm">attribute-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="decl-specifier"><div class="nonterm">decl-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#storage-class-specifier">storage-class-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-specifier">type-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#function-specifier">function-specifier</a></div> </td></tr>
<tr><td></td><td><div class="token">friend</div> </td></tr>
<tr><td></td><td><div class="token">typedef</div> </td></tr>
<tr><td></td><td><div class="token">constexpr</div> </td></tr>
<tr><td><a id="decl-specifier-seq"><div class="nonterm">decl-specifier-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decl-specifier">decl-specifier</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decl-specifier">decl-specifier</a></div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> </td></tr>
<tr><td><a id="storage-class-specifier"><div class="nonterm">storage-class-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">register</div> </td></tr>
<tr><td></td><td><div class="token">static</div> </td></tr>
<tr><td></td><td><div class="token">thread_local</div> </td></tr>
<tr><td></td><td><div class="token">extern</div> </td></tr>
<tr><td></td><td><div class="token">mutable</div> </td></tr>
<tr><td><a id="function-specifier"><div class="nonterm">function-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">inline</div> </td></tr>
<tr><td></td><td><div class="token">virtual</div> </td></tr>
<tr><td></td><td><div class="token">explicit</div> </td></tr>
<tr><td><a id="typedef-name"><div class="nonterm">typedef-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="type-specifier"><div class="nonterm">type-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#trailing-type-specifier">trailing-type-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-specifier">class-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-specifier">enum-specifier</a></div> </td></tr>
<tr><td><a id="trailing-type-specifier"><div class="nonterm">trailing-type-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-type-specifier">simple-type-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#elaborated-type-specifier">elaborated-type-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#typename-specifier">typename-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#cv-qualifier">cv-qualifier</a></div> </td></tr>
<tr><td><a id="type-specifier-seq"><div class="nonterm">type-specifier-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-specifier">type-specifier</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-specifier">type-specifier</a></div> <div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> </td></tr>
<tr><td><a id="trailing-type-specifier-seq"><div class="nonterm">trailing-type-specifier-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#trailing-type-specifier">trailing-type-specifier</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#trailing-type-specifier">trailing-type-specifier</a></div> <div class="nonterm"><a href="#trailing-type-specifier-seq">trailing-type-specifier-seq</a></div> </td></tr>
<tr><td><a id="simple-type-specifier"><div class="nonterm">simple-type-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#type-name">type-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="token">template</div> <div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td></td><td><div class="token">char</div> </td></tr>
<tr><td></td><td><div class="token">char16_t</div> </td></tr>
<tr><td></td><td><div class="token">char32_t</div> </td></tr>
<tr><td></td><td><div class="token">wchar_t</div> </td></tr>
<tr><td></td><td><div class="token">bool</div> </td></tr>
<tr><td></td><td><div class="token">short</div> </td></tr>
<tr><td></td><td><div class="token">int</div> </td></tr>
<tr><td></td><td><div class="token">long</div> </td></tr>
<tr><td></td><td><div class="token">signed</div> </td></tr>
<tr><td></td><td><div class="token">unsigned</div> </td></tr>
<tr><td></td><td><div class="token">float</div> </td></tr>
<tr><td></td><td><div class="token">double</div> </td></tr>
<tr><td></td><td><div class="token">void</div> </td></tr>
<tr><td></td><td><div class="token">auto</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decltype-specifier">decltype-specifier</a></div> </td></tr>
<tr><td><a id="type-name"><div class="nonterm">type-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-name">class-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-name">enum-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#typedef-name">typedef-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td><a id="decltype-specifier"><div class="nonterm">decltype-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decltype">decltype</a></div> <div class="token">(</div> <div class="nonterm"><a href="#expression">expression</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="elaborated-type-specifier"><div class="nonterm">elaborated-type-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-key">class-key</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-key">class-key</a></div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="token">template</div><div class="small">?</div> <div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td></td><td><div class="token">enum</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="enum-name"><div class="nonterm">enum-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="enum-specifier"><div class="nonterm">enum-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-head">enum-head</a></div> <div class="token">{</div> <div class="nonterm"><a href="#enumerator-list">enumerator-list</a></div><div class="small">?</div> <div class="token">}</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-head">enum-head</a></div> <div class="token">{</div> <div class="nonterm"><a href="#enumerator-list">enumerator-list</a></div> <div class="token">,</div> <div class="token">}</div> </td></tr>
<tr><td><a id="enum-head"><div class="nonterm">enum-head:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-key">enum-key</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#enum-base">enum-base</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-key">enum-key</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#enum-base">enum-base</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="opaque-enum-declaration"><div class="nonterm">opaque-enum-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enum-key">enum-key</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#enum-base">enum-base</a></div><div class="small">?</div> <div class="token">;</div> </td></tr>
<tr><td><a id="enum-key"><div class="nonterm">enum-key:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">enum</div> </td></tr>
<tr><td></td><td><div class="token">enum</div> <div class="token">class</div> </td></tr>
<tr><td></td><td><div class="token">enum</div> <div class="token">struct</div> </td></tr>
<tr><td><a id="enum-base"><div class="nonterm">enum-base:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">:</div> <div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> </td></tr>
<tr><td><a id="enumerator-list"><div class="nonterm">enumerator-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enumerator-definition">enumerator-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enumerator-list">enumerator-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#enumerator-definition">enumerator-definition</a></div> </td></tr>
<tr><td><a id="enumerator-definition"><div class="nonterm">enumerator-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enumerator">enumerator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#enumerator">enumerator</a></div> <div class="token">=</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> </td></tr>
<tr><td><a id="enumerator"><div class="nonterm">enumerator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="namespace-name"><div class="nonterm">namespace-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#original-namespace-name">original-namespace-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#namespace-alias">namespace-alias</a></div> </td></tr>
<tr><td><a id="original-namespace-name"><div class="nonterm">original-namespace-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="namespace-definition"><div class="nonterm">namespace-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#named-namespace-definition">named-namespace-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#unnamed-namespace-definition">unnamed-namespace-definition</a></div> </td></tr>
<tr><td><a id="named-namespace-definition"><div class="nonterm">named-namespace-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#original-namespace-definition">original-namespace-definition</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#extension-namespace-definition">extension-namespace-definition</a></div> </td></tr>
<tr><td><a id="original-namespace-definition"><div class="nonterm">original-namespace-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">inline</div><div class="small">?</div> <div class="token">namespace</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="token">{</div> <div class="nonterm"><a href="#namespace-body">namespace-body</a></div> <div class="token">}</div> </td></tr>
<tr><td><a id="extension-namespace-definition"><div class="nonterm">extension-namespace-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">inline</div><div class="small">?</div> <div class="token">namespace</div> <div class="nonterm"><a href="#original-namespace-name">original-namespace-name</a></div> <div class="token">{</div> <div class="nonterm"><a href="#namespace-body">namespace-body</a></div> <div class="token">}</div> </td></tr>
<tr><td><a id="unnamed-namespace-definition"><div class="nonterm">unnamed-namespace-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">inline</div><div class="small">?</div> <div class="token">namespace</div> <div class="token">{</div> <div class="nonterm"><a href="#namespace-body">namespace-body</a></div> <div class="token">}</div> </td></tr>
<tr><td><a id="namespace-body"><div class="nonterm">namespace-body:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declaration-seq">declaration-seq</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="namespace-alias"><div class="nonterm">namespace-alias:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="namespace-alias-definition"><div class="nonterm">namespace-alias-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">namespace</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="token">=</div> <div class="nonterm"><a href="#qualified-namespace-specifier">qualified-namespace-specifier</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="qualified-namespace-specifier"><div class="nonterm">qualified-namespace-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#namespace-name">namespace-name</a></div> </td></tr>
<tr><td><a id="using-declaration"><div class="nonterm">using-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">using</div> <div class="token">typename</div><div class="small">?</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#unqualified-id">unqualified-id</a></div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">using</div> <div class="token">::</div> <div class="nonterm"><a href="#unqualified-id">unqualified-id</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="using-directive"><div class="nonterm">using-directive:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="token">using</div> <div class="token">namespace</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#namespace-name">namespace-name</a></div> <div class="token">;</div> </td></tr>
<tr><td><a id="asm-definition"><div class="nonterm">asm-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">asm</div> <div class="token">(</div> <div class="nonterm"><a href="#string-literal">string-literal</a></div> <div class="token">)</div> <div class="token">;</div> </td></tr>
<tr><td><a id="linkage-specification"><div class="nonterm">linkage-specification:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">extern</div> <div class="nonterm"><a href="#string-literal">string-literal</a></div> <div class="token">{</div> <div class="nonterm"><a href="#declaration-seq">declaration-seq</a></div><div class="small">?</div> <div class="token">}</div> </td></tr>
<tr><td></td><td><div class="token">extern</div> <div class="nonterm"><a href="#string-literal">string-literal</a></div> <div class="nonterm"><a href="#declaration">declaration</a></div> </td></tr>
<tr><td><a id="attribute-specifier-seq"><div class="nonterm">attribute-specifier-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#attribute-specifier">attribute-specifier</a></div> </td></tr>
<tr><td><a id="attribute-specifier"><div class="nonterm">attribute-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">[</div> <div class="token">[</div> <div class="nonterm"><a href="#attribute-list">attribute-list</a></div> <div class="token">]</div> <div class="token">]</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#alignment-specifier">alignment-specifier</a></div> </td></tr>
<tr><td><a id="alignment-specifier"><div class="nonterm">alignment-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">alignas</div> <div class="token">(</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">...</div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="token">alignas</div> <div class="token">(</div> <div class="nonterm"><a href="#alignment-expression">alignment-expression</a></div> <div class="token">...</div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td><a id="attribute-list"><div class="nonterm">attribute-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute">attribute</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-list">attribute-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#attribute">attribute</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute">attribute</a></div> <div class="token">...</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-list">attribute-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#attribute">attribute</a></div> <div class="token">...</div> </td></tr>
<tr><td><a id="attribute"><div class="nonterm">attribute:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-token">attribute-token</a></div> <div class="nonterm"><a href="#attribute-argument-clause">attribute-argument-clause</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="attribute-token"><div class="nonterm">attribute-token:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-scoped-token">attribute-scoped-token</a></div> </td></tr>
<tr><td><a id="attribute-scoped-token"><div class="nonterm">attribute-scoped-token:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-namespace">attribute-namespace</a></div> <div class="token">::</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="attribute-namespace"><div class="nonterm">attribute-namespace:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="attribute-argument-clause"><div class="nonterm">attribute-argument-clause:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#balanced-token-seq">balanced-token-seq</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="balanced-token-seq"><div class="nonterm">balanced-token-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#balanced-token">balanced-token</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#balanced-token-seq">balanced-token-seq</a></div> <div class="nonterm"><a href="#balanced-token">balanced-token</a></div> </td></tr>
<tr><td><a id="balanced-token"><div class="nonterm">balanced-token:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#balanced-token-seq">balanced-token-seq</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="token">[</div> <div class="nonterm"><a href="#balanced-token-seq">balanced-token-seq</a></div> <div class="token">]</div> </td></tr>
<tr><td></td><td><div class="token">{</div> <div class="nonterm"><a href="#balanced-token-seq">balanced-token-seq</a></div> <div class="token">}</div> </td></tr>
<tr><td></td><td><p class="symdesc">any token other than a parenthesis, a bracket, or a brace</p></td></tr>
</table><h1><a id="[gram.decl]"></a>[gram.decl]</h1>
<table><tr><td><a id="init-declarator-list"><div class="nonterm">init-declarator-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#init-declarator">init-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#init-declarator-list">init-declarator-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#init-declarator">init-declarator</a></div> </td></tr>
<tr><td><a id="init-declarator"><div class="nonterm">init-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declarator">declarator</a></div> <div class="nonterm"><a href="#initializer">initializer</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="declarator"><div class="nonterm">declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-declarator">ptr-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-declarator">noptr-declarator</a></div> <div class="nonterm"><a href="#parameters-and-qualifiers">parameters-and-qualifiers</a></div> <div class="nonterm"><a href="#trailing-return-type">trailing-return-type</a></div> </td></tr>
<tr><td><a id="ptr-declarator"><div class="nonterm">ptr-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-declarator">noptr-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-operator">ptr-operator</a></div> <div class="nonterm"><a href="#ptr-declarator">ptr-declarator</a></div> </td></tr>
<tr><td><a id="noptr-declarator"><div class="nonterm">noptr-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declarator-id">declarator-id</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-declarator">noptr-declarator</a></div> <div class="nonterm"><a href="#parameters-and-qualifiers">parameters-and-qualifiers</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-declarator">noptr-declarator</a></div> <div class="token">[</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div><div class="small">?</div> <div class="token">]</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#ptr-declarator">ptr-declarator</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="parameters-and-qualifiers"><div class="nonterm">parameters-and-qualifiers:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#parameter-declaration-clause">parameter-declaration-clause</a></div> <div class="token">)</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#cv-qualifier-seq">cv-qualifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#ref-qualifier">ref-qualifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#exception-specification">exception-specification</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="trailing-return-type"><div class="nonterm">trailing-return-type:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">-></div> <div class="nonterm"><a href="#trailing-type-specifier-seq">trailing-type-specifier-seq</a></div> <div class="nonterm"><a href="#abstract-declarator">abstract-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="ptr-operator"><div class="nonterm">ptr-operator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">*</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#cv-qualifier-seq">cv-qualifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">&</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">&&</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="token">*</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#cv-qualifier-seq">cv-qualifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="cv-qualifier-seq"><div class="nonterm">cv-qualifier-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#cv-qualifier">cv-qualifier</a></div> <div class="nonterm"><a href="#cv-qualifier-seq">cv-qualifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="cv-qualifier"><div class="nonterm">cv-qualifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">const</div> </td></tr>
<tr><td></td><td><div class="token">volatile</div> </td></tr>
<tr><td><a id="ref-qualifier"><div class="nonterm">ref-qualifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">&</div> </td></tr>
<tr><td></td><td><div class="token">&&</div> </td></tr>
<tr><td><a id="declarator-id"><div class="nonterm">declarator-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">...</div> <div class="nonterm"><a href="#id-expression">id-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#class-name">class-name</a></div> </td></tr>
<tr><td><a id="type-id"><div class="nonterm">type-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> <div class="nonterm"><a href="#abstract-declarator">abstract-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="abstract-declarator"><div class="nonterm">abstract-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-abstract-declarator">ptr-abstract-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-declarator">noptr-abstract-declarator</a></div><div class="small">?</div> <div class="nonterm"><a href="#parameters-and-qualifiers">parameters-and-qualifiers</a></div> <div class="nonterm"><a href="#trailing-return-type">trailing-return-type</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#abstract-pack-declarator">abstract-pack-declarator</a></div> </td></tr>
<tr><td><a id="ptr-abstract-declarator"><div class="nonterm">ptr-abstract-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-declarator">noptr-abstract-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-operator">ptr-operator</a></div> <div class="nonterm"><a href="#ptr-abstract-declarator">ptr-abstract-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="noptr-abstract-declarator"><div class="nonterm">noptr-abstract-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-declarator">noptr-abstract-declarator</a></div><div class="small">?</div> <div class="nonterm"><a href="#parameters-and-qualifiers">parameters-and-qualifiers</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-declarator">noptr-abstract-declarator</a></div><div class="small">?</div> <div class="token">[</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div><div class="small">?</div> <div class="token">]</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#ptr-abstract-declarator">ptr-abstract-declarator</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="abstract-pack-declarator"><div class="nonterm">abstract-pack-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-pack-declarator">noptr-abstract-pack-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-operator">ptr-operator</a></div> <div class="nonterm"><a href="#abstract-pack-declarator">abstract-pack-declarator</a></div> </td></tr>
<tr><td><a id="noptr-abstract-pack-declarator"><div class="nonterm">noptr-abstract-pack-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-pack-declarator">noptr-abstract-pack-declarator</a></div> <div class="nonterm"><a href="#parameters-and-qualifiers">parameters-and-qualifiers</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noptr-abstract-pack-declarator">noptr-abstract-pack-declarator</a></div> <div class="token">[</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div><div class="small">?</div> <div class="token">]</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">...</div> </td></tr>
<tr><td><a id="parameter-declaration-clause"><div class="nonterm">parameter-declaration-clause:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#parameter-declaration-list">parameter-declaration-list</a></div><div class="small">?</div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#parameter-declaration-list">parameter-declaration-list</a></div> <div class="token">,</div> <div class="token">...</div> </td></tr>
<tr><td><a id="parameter-declaration-list"><div class="nonterm">parameter-declaration-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#parameter-declaration">parameter-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#parameter-declaration-list">parameter-declaration-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#parameter-declaration">parameter-declaration</a></div> </td></tr>
<tr><td><a id="parameter-declaration"><div class="nonterm">parameter-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#declarator">declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#declarator">declarator</a></div> <div class="token">=</div> <div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#abstract-declarator">abstract-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div> <div class="nonterm"><a href="#abstract-declarator">abstract-declarator</a></div><div class="small">?</div> <div class="token">=</div> <div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> </td></tr>
<tr><td><a id="function-definition"><div class="nonterm">function-definition:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#declarator">declarator</a></div> <div class="nonterm"><a href="#virt-specifier-seq">virt-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#function-body">function-body</a></div> </td></tr>
<tr><td><a id="function-body"><div class="nonterm">function-body:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ctor-initializer">ctor-initializer</a></div><div class="small">?</div> <div class="nonterm"><a href="#compound-statement">compound-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#function-try-block">function-try-block</a></div> </td></tr>
<tr><td></td><td><div class="token">=</div> <div class="token">default</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="token">=</div> <div class="token">delete</div> <div class="token">;</div> </td></tr>
<tr><td><a id="initializer"><div class="nonterm">initializer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#brace-or-equal-initializer">brace-or-equal-initializer</a></div> </td></tr>
<tr><td></td><td><div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div> <div class="token">)</div> </td></tr>
<tr><td><a id="brace-or-equal-initializer"><div class="nonterm">brace-or-equal-initializer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">=</div> <div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td><a id="initializer-clause"><div class="nonterm">initializer-clause:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#assignment-expression">assignment-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td><a id="initializer-list"><div class="nonterm">initializer-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#initializer-list">initializer-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#initializer-clause">initializer-clause</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td><a id="braced-init-list"><div class="nonterm">braced-init-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">{</div> <div class="nonterm"><a href="#initializer-list">initializer-list</a></div> <div class="token">,</div><div class="small">?</div> <div class="token">}</div> </td></tr>
<tr><td></td><td><div class="token">{</div> <div class="token">}</div> </td></tr>
</table><h1><a id="[gram.class]"></a>[gram.class]</h1>
<table><tr><td><a id="class-name"><div class="nonterm">class-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td><a id="class-specifier"><div class="nonterm">class-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-head">class-head</a></div> <div class="token">{</div> <div class="nonterm"><a href="#member-specification">member-specification</a></div><div class="small">?</div> <div class="token">}</div> </td></tr>
<tr><td><a id="class-head"><div class="nonterm">class-head:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-key">class-key</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#class-head-name">class-head-name</a></div> <div class="nonterm"><a href="#class-virt-specifier">class-virt-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#base-clause">base-clause</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-key">class-key</a></div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#base-clause">base-clause</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="class-head-name"><div class="nonterm">class-head-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#class-name">class-name</a></div> </td></tr>
<tr><td><a id="class-virt-specifier"><div class="nonterm">class-virt-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">final</div> </td></tr>
<tr><td><a id="class-key"><div class="nonterm">class-key:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">class</div> </td></tr>
<tr><td></td><td><div class="token">struct</div> </td></tr>
<tr><td></td><td><div class="token">union</div> </td></tr>
<tr><td><a id="member-specification"><div class="nonterm">member-specification:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#member-declaration">member-declaration</a></div> <div class="nonterm"><a href="#member-specification">member-specification</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#access-specifier">access-specifier</a></div> <div class="token">:</div> <div class="nonterm"><a href="#member-specification">member-specification</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="member-declaration"><div class="nonterm">member-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#decl-specifier-seq">decl-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#member-declarator-list">member-declarator-list</a></div><div class="small">?</div> <div class="token">;</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#function-definition">function-definition</a></div> <div class="token">;</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#using-declaration">using-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#static_assert-declaration">static_assert-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-declaration">template-declaration</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#alias-declaration">alias-declaration</a></div> </td></tr>
<tr><td><a id="member-declarator-list"><div class="nonterm">member-declarator-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#member-declarator">member-declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#member-declarator-list">member-declarator-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#member-declarator">member-declarator</a></div> </td></tr>
<tr><td><a id="member-declarator"><div class="nonterm">member-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declarator">declarator</a></div> <div class="nonterm"><a href="#virt-specifier-seq">virt-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#pure-specifier">pure-specifier</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#declarator">declarator</a></div> <div class="nonterm"><a href="#brace-or-equal-initializer">brace-or-equal-initializer</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="token">:</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> </td></tr>
<tr><td><a id="virt-specifier-seq"><div class="nonterm">virt-specifier-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#virt-specifier">virt-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#virt-specifier-seq">virt-specifier-seq</a></div> <div class="nonterm"><a href="#virt-specifier">virt-specifier</a></div> </td></tr>
<tr><td><a id="virt-specifier"><div class="nonterm">virt-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">override</div> </td></tr>
<tr><td></td><td><div class="token">final</div> </td></tr>
<tr><td><a id="pure-specifier"><div class="nonterm">pure-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">=</div> <div class="token">0</div> </td></tr>
</table><h1><a id="[gram.derived]"></a>[gram.derived]</h1>
<table><tr><td><a id="base-clause"><div class="nonterm">base-clause:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">:</div> <div class="nonterm"><a href="#base-specifier-list">base-specifier-list</a></div> </td></tr>
<tr><td><a id="base-specifier-list"><div class="nonterm">base-specifier-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#base-specifier">base-specifier</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#base-specifier-list">base-specifier-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#base-specifier">base-specifier</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td><a id="base-specifier"><div class="nonterm">base-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#base-type-specifier">base-type-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="token">virtual</div> <div class="nonterm"><a href="#access-specifier">access-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#base-type-specifier">base-type-specifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#access-specifier">access-specifier</a></div> <div class="token">virtual</div><div class="small">?</div> <div class="nonterm"><a href="#base-type-specifier">base-type-specifier</a></div> </td></tr>
<tr><td><a id="class-or-decltype"><div class="nonterm">class-or-decltype:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div><div class="small">?</div> <div class="nonterm"><a href="#class-name">class-name</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#decltype-specifier">decltype-specifier</a></div> </td></tr>
<tr><td><a id="base-type-specifier"><div class="nonterm">base-type-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-or-decltype">class-or-decltype</a></div> </td></tr>
<tr><td><a id="access-specifier"><div class="nonterm">access-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">private</div> </td></tr>
<tr><td></td><td><div class="token">protected</div> </td></tr>
<tr><td></td><td><div class="token">public</div> </td></tr>
</table><h1><a id="[gram.special]"></a>[gram.special]</h1>
<table><tr><td><a id="conversion-function-id"><div class="nonterm">conversion-function-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">operator</div> <div class="nonterm"><a href="#conversion-type-id">conversion-type-id</a></div> </td></tr>
<tr><td><a id="conversion-type-id"><div class="nonterm">conversion-type-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> <div class="nonterm"><a href="#conversion-declarator">conversion-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="conversion-declarator"><div class="nonterm">conversion-declarator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#ptr-operator">ptr-operator</a></div> <div class="nonterm"><a href="#conversion-declarator">conversion-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="ctor-initializer"><div class="nonterm">ctor-initializer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">:</div> <div class="nonterm"><a href="#mem-initializer-list">mem-initializer-list</a></div> </td></tr>
<tr><td><a id="mem-initializer-list"><div class="nonterm">mem-initializer-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#mem-initializer">mem-initializer</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#mem-initializer">mem-initializer</a></div> <div class="token">,</div> <div class="nonterm"><a href="#mem-initializer-list">mem-initializer-list</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td><a id="mem-initializer"><div class="nonterm">mem-initializer:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#mem-initializer-id">mem-initializer-id</a></div> <div class="token">(</div> <div class="nonterm"><a href="#expression-list">expression-list</a></div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#mem-initializer-id">mem-initializer-id</a></div> <div class="nonterm"><a href="#braced-init-list">braced-init-list</a></div> </td></tr>
<tr><td><a id="mem-initializer-id"><div class="nonterm">mem-initializer-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#class-or-decltype">class-or-decltype</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
</table><h1><a id="[gram.over]"></a>[gram.over]</h1>
<table><tr><td><a id="operator-function-id"><div class="nonterm">operator-function-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">operator</div> <div class="nonterm"><a href="#operator">operator</a></div> </td></tr>
<tr><td><a id="operator"><div class="nonterm">operator:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">new</div> </td></tr>
<tr><td></td><td><div class="token">delete</div> </td></tr>
<tr><td></td><td><div class="token">new[]</div> </td></tr>
<tr><td></td><td><div class="token">delete[]</div> </td></tr>
<tr><td></td><td><div class="token">+</div> </td></tr>
<tr><td></td><td><div class="token">-</div> </td></tr>
<tr><td></td><td><div class="token">*</div> </td></tr>
<tr><td></td><td><div class="token">/</div> </td></tr>
<tr><td></td><td><div class="token">%</div> </td></tr>
<tr><td></td><td><div class="token">ˆ</div> </td></tr>
<tr><td></td><td><div class="token">&</div> </td></tr>
<tr><td></td><td><div class="token">|</div> </td></tr>
<tr><td></td><td><div class="token">~</div> </td></tr>
<tr><td></td><td><div class="token">!</div> </td></tr>
<tr><td></td><td><div class="token">=</div> </td></tr>
<tr><td></td><td><div class="token"><</div> </td></tr>
<tr><td></td><td><div class="token">></div> </td></tr>
<tr><td></td><td><div class="token">+=</div> </td></tr>
<tr><td></td><td><div class="token">-=</div> </td></tr>
<tr><td></td><td><div class="token">*=</div> </td></tr>
<tr><td></td><td><div class="token">/=</div> </td></tr>
<tr><td></td><td><div class="token">%=</div> </td></tr>
<tr><td></td><td><div class="token">ˆ=</div> </td></tr>
<tr><td></td><td><div class="token">&=</div> </td></tr>
<tr><td></td><td><div class="token">|=</div> </td></tr>
<tr><td></td><td><div class="token"><<</div> </td></tr>
<tr><td></td><td><div class="token">>></div> </td></tr>
<tr><td></td><td><div class="token">>>=</div> </td></tr>
<tr><td></td><td><div class="token"><<=</div> </td></tr>
<tr><td></td><td><div class="token">==</div> </td></tr>
<tr><td></td><td><div class="token">!=</div> </td></tr>
<tr><td></td><td><div class="token"><=</div> </td></tr>
<tr><td></td><td><div class="token">>=</div> </td></tr>
<tr><td></td><td><div class="token">&&</div> </td></tr>
<tr><td></td><td><div class="token">||</div> </td></tr>
<tr><td></td><td><div class="token">++</div> </td></tr>
<tr><td></td><td><div class="token">--</div> </td></tr>
<tr><td></td><td><div class="token">,</div> </td></tr>
<tr><td></td><td><div class="token">->*</div> </td></tr>
<tr><td></td><td><div class="token">-></div> </td></tr>
<tr><td></td><td><div class="token">(</div> </td></tr>
<tr><td></td><td><div class="token">)</div> </td></tr>
<tr><td></td><td><div class="token">[</div> </td></tr>
<tr><td></td><td><div class="token">]</div> </td></tr>
<tr><td><a id="literal-operator-id"><div class="nonterm">literal-operator-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">operator</div> <div class="token">""</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
</table><h1><a id="[gram.temp]"></a>[gram.temp]</h1>
<table><tr><td><a id="template-declaration"><div class="nonterm">template-declaration:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">template</div> <div class="token"><</div> <div class="nonterm"><a href="#template-parameter-list">template-parameter-list</a></div> <div class="token">></div> <div class="nonterm"><a href="#declaration">declaration</a></div> </td></tr>
<tr><td><a id="template-parameter-list"><div class="nonterm">template-parameter-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-parameter">template-parameter</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-parameter-list">template-parameter-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#template-parameter">template-parameter</a></div> </td></tr>
<tr><td><a id="template-parameter"><div class="nonterm">template-parameter:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-parameter">type-parameter</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#parameter-declaration">parameter-declaration</a></div> </td></tr>
<tr><td><a id="type-parameter"><div class="nonterm">type-parameter:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">class</div> <div class="token">...</div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">class</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> <div class="token">=</div> <div class="nonterm"><a href="#type-id">type-id</a></div> </td></tr>
<tr><td></td><td><div class="token">typename</div> <div class="token">...</div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">typename</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> <div class="token">=</div> <div class="nonterm"><a href="#type-id">type-id</a></div> </td></tr>
<tr><td></td><td><div class="token">template</div> <div class="token"><</div> <div class="nonterm"><a href="#template-parameter-list">template-parameter-list</a></div> <div class="token">></div> <div class="token">class</div> <div class="token">...</div><div class="small">?</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">template</div> <div class="token"><</div> <div class="nonterm"><a href="#template-parameter-list">template-parameter-list</a></div> <div class="token">></div> <div class="token">class</div> <div class="nonterm"><a href="#identifier">identifier</a></div><div class="small">?</div> <div class="token">=</div> <div class="nonterm"><a href="#id-expression">id-expression</a></div> </td></tr>
<tr><td><a id="simple-template-id"><div class="nonterm">simple-template-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-name">template-name</a></div> <div class="token"><</div> <div class="nonterm"><a href="#template-argument-list">template-argument-list</a></div><div class="small">?</div> <div class="token">></div> </td></tr>
<tr><td><a id="template-id"><div class="nonterm">template-id:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#operator-function-id">operator-function-id</a></div> <div class="token"><</div> <div class="nonterm"><a href="#template-argument-list">template-argument-list</a></div><div class="small">?</div> <div class="token">></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#literal-operator-id">literal-operator-id</a></div> <div class="token"><</div> <div class="nonterm"><a href="#template-argument-list">template-argument-list</a></div><div class="small">?</div> <div class="token">></div> </td></tr>
<tr><td><a id="template-name"><div class="nonterm">template-name:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="template-argument-list"><div class="nonterm">template-argument-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-argument">template-argument</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#template-argument-list">template-argument-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#template-argument">template-argument</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td><a id="template-argument"><div class="nonterm">template-argument:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#constant-expression">constant-expression</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-id">type-id</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#id-expression">id-expression</a></div> </td></tr>
<tr><td><a id="typename-specifier"><div class="nonterm">typename-specifier:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">typename</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="token">typename</div> <div class="nonterm"><a href="#nested-name-specifier">nested-name-specifier</a></div> <div class="token">template</div><div class="small">?</div> <div class="nonterm"><a href="#simple-template-id">simple-template-id</a></div> </td></tr>
<tr><td><a id="explicit-instantiation"><div class="nonterm">explicit-instantiation:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">extern</div><div class="small">?</div> <div class="token">template</div> <div class="nonterm"><a href="#declaration">declaration</a></div> </td></tr>
<tr><td><a id="explicit-specialization"><div class="nonterm">explicit-specialization:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">template</div> <div class="token"><</div> <div class="token">></div> <div class="nonterm"><a href="#declaration">declaration</a></div> </td></tr>
</table><h1><a id="[gram.except]"></a>[gram.except]</h1>
<table><tr><td><a id="try-block"><div class="nonterm">try-block:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">try</div> <div class="nonterm"><a href="#compound-statement">compound-statement</a></div> <div class="nonterm"><a href="#handler-seq">handler-seq</a></div> </td></tr>
<tr><td><a id="function-try-block"><div class="nonterm">function-try-block:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">try</div> <div class="nonterm"><a href="#ctor-initializer">ctor-initializer</a></div><div class="small">?</div> <div class="nonterm"><a href="#compound-statement">compound-statement</a></div> <div class="nonterm"><a href="#handler-seq">handler-seq</a></div> </td></tr>
<tr><td><a id="handler-seq"><div class="nonterm">handler-seq:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#handler">handler</a></div> <div class="nonterm"><a href="#handler-seq">handler-seq</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="handler"><div class="nonterm">handler:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">catch</div> <div class="token">(</div> <div class="nonterm"><a href="#exception-declaration">exception-declaration</a></div> <div class="token">)</div> <div class="nonterm"><a href="#compound-statement">compound-statement</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#exception-declaration">exception-declaration</a></div> <div class="token">:</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> <div class="nonterm"><a href="#declarator">declarator</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#attribute-specifier-seq">attribute-specifier-seq</a></div><div class="small">?</div> <div class="nonterm"><a href="#type-specifier-seq">type-specifier-seq</a></div> <div class="nonterm"><a href="#abstract-declarator">abstract-declarator</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">...</div> </td></tr>
<tr><td><a id="throw-expression"><div class="nonterm">throw-expression:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">throw</div> <div class="nonterm"><a href="#assignment-expression">assignment-expression</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="exception-specification"><div class="nonterm">exception-specification:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#dynamic-exception-specification">dynamic-exception-specification</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#noexcept-specification">noexcept-specification</a></div> </td></tr>
<tr><td><a id="dynamic-exception-specification"><div class="nonterm">dynamic-exception-specification:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">throw</div> <div class="token">(</div> <div class="nonterm"><a href="#type-id-list">type-id-list</a></div><div class="small">?</div> <div class="token">)</div> </td></tr>
<tr><td><a id="type-id-list"><div class="nonterm">type-id-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#type-id-list">type-id-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#type-id">type-id</a></div> <div class="token">...</div><div class="small">?</div> </td></tr>
<tr><td><a id="noexcept-specification"><div class="nonterm">noexcept-specification:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">noexcept</div> <div class="token">(</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> <div class="token">)</div> </td></tr>
<tr><td></td><td><div class="token">noexcept</div> </td></tr>
</table><h1><a id="[gram.cpp]"></a>[gram.cpp]</h1>
<table><tr><td><a id="preprocessing-file"><div class="nonterm">preprocessing-file:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#group">group</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="group"><div class="nonterm">group:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#group-part">group-part</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#group">group</a></div> <div class="nonterm"><a href="#group-part">group-part</a></div> </td></tr>
<tr><td><a id="group-part"><div class="nonterm">group-part:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#if-section">if-section</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#control-line">control-line</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#text-line">text-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="nonterm"><a href="#non-directive">non-directive</a></div> </td></tr>
<tr><td><a id="if-section"><div class="nonterm">if-section:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#if-group">if-group</a></div> <div class="nonterm"><a href="#elif-groups">elif-groups</a></div><div class="small">?</div> <div class="nonterm"><a href="#else-group">else-group</a></div><div class="small">?</div> <div class="nonterm"><a href="#endif-line">endif-line</a></div> </td></tr>
<tr><td><a id="if-group"><div class="nonterm">if-group:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">if</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> <div class="nonterm"><a href="#group">group</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">ifdef</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> <div class="nonterm"><a href="#group">group</a></div><div class="small">?</div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">ifndef</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> <div class="nonterm"><a href="#group">group</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="elif-groups"><div class="nonterm">elif-groups:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#elif-group">elif-group</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#elif-groups">elif-groups</a></div> <div class="nonterm"><a href="#elif-group">elif-group</a></div> </td></tr>
<tr><td><a id="elif-group"><div class="nonterm">elif-group:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">elif</div> <div class="nonterm"><a href="#constant-expression">constant-expression</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> <div class="nonterm"><a href="#group">group</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="else-group"><div class="nonterm">else-group:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">else</div> <div class="nonterm"><a href="#new-line">new-line</a></div> <div class="nonterm"><a href="#group">group</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="endif-line"><div class="nonterm">endif-line:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">endif</div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td><a id="control-line"><div class="nonterm">control-line:</div></a></td><td></td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">include</div> <div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">define</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#replacement-list">replacement-list</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">define</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#lparen">lparen</a></div> <div class="nonterm"><a href="#identifier-list">identifier-list</a></div><div class="small">?</div> <div class="token">)</div> <div class="nonterm"><a href="#replacement-list">replacement-list</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">define</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#lparen">lparen</a></div> <div class="token">...</div> <div class="token">)</div> <div class="nonterm"><a href="#replacement-list">replacement-list</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">define</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#lparen">lparen</a></div> <div class="nonterm"><a href="#identifier-list">identifier-list</a></div> <div class="token">,</div> <div class="token">...</div> <div class="token">)</div> <div class="nonterm"><a href="#replacement-list">replacement-list</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">undef</div> <div class="nonterm"><a href="#identifier">identifier</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">line</div> <div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">error</div> <div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div><div class="small">?</div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="token">pragma</div> <div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div><div class="small">?</div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td></td><td><div class="token">#</div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td><a id="text-line"><div class="nonterm">text-line:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div><div class="small">?</div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td><a id="non-directive"><div class="nonterm">non-directive:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div> <div class="nonterm"><a href="#new-line">new-line</a></div> </td></tr>
<tr><td><a id="lparen"><div class="nonterm">lparen:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">a ( character not immediately preceded by white-space</p></td></tr>
<tr><td><a id="identifier-list"><div class="nonterm">identifier-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#identifier-list">identifier-list</a></div> <div class="token">,</div> <div class="nonterm"><a href="#identifier">identifier</a></div> </td></tr>
<tr><td><a id="replacement-list"><div class="nonterm">replacement-list:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div><div class="small">?</div> </td></tr>
<tr><td><a id="pp-tokens"><div class="nonterm">pp-tokens:</div></a></td><td></td></tr>
<tr><td></td><td><div class="nonterm"><a href="#preprocessing-token">preprocessing-token</a></div> </td></tr>
<tr><td></td><td><div class="nonterm"><a href="#pp-tokens">pp-tokens</a></div> <div class="nonterm"><a href="#preprocessing-token">preprocessing-token</a></div> </td></tr>
<tr><td><a id="new-line"><div class="nonterm">new-line:</div></a></td><td></td></tr>
<tr><td></td><td><p class="symdesc">the new-line character</p></td></tr>
</table><h1><a id="index"></a>Index</h1>
<table><tr><td><a class="indexItem" href="#abstract-declarator">abstract-declarator</a></td><td><a class="indexItem" href="#abstract-pack-declarator">abstract-pack-declarator</a></td><td><a class="indexItem" href="#access-specifier">access-specifier</a></td><td><a class="indexItem" href="#additive-expression">additive-expression</a></td></tr>
<tr><td><a class="indexItem" href="#alias-declaration">alias-declaration</a></td><td><a class="indexItem" href="#alignment-specifier">alignment-specifier</a></td><td><a class="indexItem" href="#and-expression">and-expression</a></td><td><a class="indexItem" href="#asm-definition">asm-definition</a></td></tr>
<tr><td><a class="indexItem" href="#assignment-expression">assignment-expression</a></td><td><a class="indexItem" href="#assignment-operator">assignment-operator</a></td><td><a class="indexItem" href="#attribute">attribute</a></td><td><a class="indexItem" href="#attribute-argument-clause">attribute-argument-clause</a></td></tr>
<tr><td><a class="indexItem" href="#attribute-declaration">attribute-declaration</a></td><td><a class="indexItem" href="#attribute-list">attribute-list</a></td><td><a class="indexItem" href="#attribute-namespace">attribute-namespace</a></td><td><a class="indexItem" href="#attribute-scoped-token">attribute-scoped-token</a></td></tr>
<tr><td><a class="indexItem" href="#attribute-specifier">attribute-specifier</a></td><td><a class="indexItem" href="#attribute-specifier-seq">attribute-specifier-seq</a></td><td><a class="indexItem" href="#attribute-token">attribute-token</a></td><td><a class="indexItem" href="#balanced-token">balanced-token</a></td></tr>
<tr><td><a class="indexItem" href="#balanced-token-seq">balanced-token-seq</a></td><td><a class="indexItem" href="#base-clause">base-clause</a></td><td><a class="indexItem" href="#base-specifier">base-specifier</a></td><td><a class="indexItem" href="#base-specifier-list">base-specifier-list</a></td></tr>
<tr><td><a class="indexItem" href="#base-type-specifier">base-type-specifier</a></td><td><a class="indexItem" href="#block-declaration">block-declaration</a></td><td><a class="indexItem" href="#boolean-literal">boolean-literal</a></td><td><a class="indexItem" href="#brace-or-equal-initializer">brace-or-equal-initializer</a></td></tr>
<tr><td><a class="indexItem" href="#braced-init-list">braced-init-list</a></td><td><a class="indexItem" href="#c-char">c-char</a></td><td><a class="indexItem" href="#c-char-sequence">c-char-sequence</a></td><td><a class="indexItem" href="#capture">capture</a></td></tr>
<tr><td><a class="indexItem" href="#capture-default">capture-default</a></td><td><a class="indexItem" href="#capture-list">capture-list</a></td><td><a class="indexItem" href="#cast-expression">cast-expression</a></td><td><a class="indexItem" href="#character-literal">character-literal</a></td></tr>
<tr><td><a class="indexItem" href="#class-head">class-head</a></td><td><a class="indexItem" href="#class-head-name">class-head-name</a></td><td><a class="indexItem" href="#class-key">class-key</a></td><td><a class="indexItem" href="#class-name">class-name</a></td></tr>
<tr><td><a class="indexItem" href="#class-or-decltype">class-or-decltype</a></td><td><a class="indexItem" href="#class-specifier">class-specifier</a></td><td><a class="indexItem" href="#class-virt-specifier">class-virt-specifier</a></td><td><a class="indexItem" href="#condition">condition</a></td></tr>
<tr><td><a class="indexItem" href="#conditional-expression">conditional-expression</a></td><td><a class="indexItem" href="#constant-expression">constant-expression</a></td><td><a class="indexItem" href="#control-line">control-line</a></td><td><a class="indexItem" href="#conversion-declarator">conversion-declarator</a></td></tr>
<tr><td><a class="indexItem" href="#conversion-function-id">conversion-function-id</a></td><td><a class="indexItem" href="#conversion-type-id">conversion-type-id</a></td><td><a class="indexItem" href="#ctor-initializer">ctor-initializer</a></td><td><a class="indexItem" href="#cv-qualifier">cv-qualifier</a></td></tr>
<tr><td><a class="indexItem" href="#cv-qualifier-seq">cv-qualifier-seq</a></td><td><a class="indexItem" href="#d-char">d-char</a></td><td><a class="indexItem" href="#d-char-sequence">d-char-sequence</a></td><td><a class="indexItem" href="#decimal-literal">decimal-literal</a></td></tr>
<tr><td><a class="indexItem" href="#decl-specifier">decl-specifier</a></td><td><a class="indexItem" href="#decl-specifier-seq">decl-specifier-seq</a></td><td><a class="indexItem" href="#declaration">declaration</a></td><td><a class="indexItem" href="#declaration-seq">declaration-seq</a></td></tr>
<tr><td><a class="indexItem" href="#declaration-statement">declaration-statement</a></td><td><a class="indexItem" href="#declarator">declarator</a></td><td><a class="indexItem" href="#declarator-id">declarator-id</a></td><td><a class="indexItem" href="#decltype-specifier">decltype-specifier</a></td></tr>
<tr><td><a class="indexItem" href="#delete-expression">delete-expression</a></td><td><a class="indexItem" href="#digit">digit</a></td><td><a class="indexItem" href="#digit-sequence">digit-sequence</a></td><td><a class="indexItem" href="#dynamic-exception-specification">dynamic-exception-specification</a></td></tr>
<tr><td><a class="indexItem" href="#elaborated-type-specifier">elaborated-type-specifier</a></td><td><a class="indexItem" href="#elif-group">elif-group</a></td><td><a class="indexItem" href="#elif-groups">elif-groups</a></td><td><a class="indexItem" href="#else-group">else-group</a></td></tr>
<tr><td><a class="indexItem" href="#empty-declaration">empty-declaration</a></td><td><a class="indexItem" href="#encoding-prefix">encoding-prefix</a></td><td><a class="indexItem" href="#endif-line">endif-line</a></td><td><a class="indexItem" href="#enum-base">enum-base</a></td></tr>
<tr><td><a class="indexItem" href="#enum-head">enum-head</a></td><td><a class="indexItem" href="#enum-key">enum-key</a></td><td><a class="indexItem" href="#enum-name">enum-name</a></td><td><a class="indexItem" href="#enum-specifier">enum-specifier</a></td></tr>
<tr><td><a class="indexItem" href="#enumerator">enumerator</a></td><td><a class="indexItem" href="#enumerator-definition">enumerator-definition</a></td><td><a class="indexItem" href="#enumerator-list">enumerator-list</a></td><td><a class="indexItem" href="#equality-expression">equality-expression</a></td></tr>
<tr><td><a class="indexItem" href="#escape-sequence">escape-sequence</a></td><td><a class="indexItem" href="#exception-specification">exception-specification</a></td><td><a class="indexItem" href="#exclusive-or-expression">exclusive-or-expression</a></td><td><a class="indexItem" href="#explicit-instantiation">explicit-instantiation</a></td></tr>
<tr><td><a class="indexItem" href="#explicit-specialization">explicit-specialization</a></td><td><a class="indexItem" href="#exponent-part">exponent-part</a></td><td><a class="indexItem" href="#expression">expression</a></td><td><a class="indexItem" href="#expression-list">expression-list</a></td></tr>
<tr><td><a class="indexItem" href="#expression-statement">expression-statement</a></td><td><a class="indexItem" href="#extension-namespace-definition">extension-namespace-definition</a></td><td><a class="indexItem" href="#floating-literal">floating-literal</a></td><td><a class="indexItem" href="#floating-suffix">floating-suffix</a></td></tr>
<tr><td><a class="indexItem" href="#for-init-statement">for-init-statement</a></td><td><a class="indexItem" href="#for-range-declaration">for-range-declaration</a></td><td><a class="indexItem" href="#for-range-initializer">for-range-initializer</a></td><td><a class="indexItem" href="#fractional-constant">fractional-constant</a></td></tr>
<tr><td><a class="indexItem" href="#function-body">function-body</a></td><td><a class="indexItem" href="#function-definition">function-definition</a></td><td><a class="indexItem" href="#function-specifier">function-specifier</a></td><td><a class="indexItem" href="#function-try-block">function-try-block</a></td></tr>
<tr><td><a class="indexItem" href="#group">group</a></td><td><a class="indexItem" href="#group-part">group-part</a></td><td><a class="indexItem" href="#h-char">h-char</a></td><td><a class="indexItem" href="#h-char-sequence">h-char-sequence</a></td></tr>
<tr><td><a class="indexItem" href="#handler">handler</a></td><td><a class="indexItem" href="#handler-seq">handler-seq</a></td><td><a class="indexItem" href="#header-name">header-name</a></td><td><a class="indexItem" href="#hex-quad">hex-quad</a></td></tr>
<tr><td><a class="indexItem" href="#hexadecimal-digit">hexadecimal-digit</a></td><td><a class="indexItem" href="#hexadecimal-escape-sequence">hexadecimal-escape-sequence</a></td><td><a class="indexItem" href="#hexadecimal-literal">hexadecimal-literal</a></td><td><a class="indexItem" href="#id-expression">id-expression</a></td></tr>
<tr><td><a class="indexItem" href="#identifier">identifier</a></td><td><a class="indexItem" href="#identifier-list">identifier-list</a></td><td><a class="indexItem" href="#identifier-nondigit">identifier-nondigit</a></td><td><a class="indexItem" href="#if-group">if-group</a></td></tr>
<tr><td><a class="indexItem" href="#if-section">if-section</a></td><td><a class="indexItem" href="#inclusive-or-expression">inclusive-or-expression</a></td><td><a class="indexItem" href="#init-declarator">init-declarator</a></td><td><a class="indexItem" href="#init-declarator-list">init-declarator-list</a></td></tr>
<tr><td><a class="indexItem" href="#initializer">initializer</a></td><td><a class="indexItem" href="#initializer-clause">initializer-clause</a></td><td><a class="indexItem" href="#initializer-list">initializer-list</a></td><td><a class="indexItem" href="#integer-literal">integer-literal</a></td></tr>
<tr><td><a class="indexItem" href="#integer-suffix">integer-suffix</a></td><td><a class="indexItem" href="#iteration-statement">iteration-statement</a></td><td><a class="indexItem" href="#jump-statement">jump-statement</a></td><td><a class="indexItem" href="#labeled-statement">labeled-statement</a></td></tr>
<tr><td><a class="indexItem" href="#lambda-capture">lambda-capture</a></td><td><a class="indexItem" href="#lambda-declarator">lambda-declarator</a></td><td><a class="indexItem" href="#lambda-expression">lambda-expression</a></td><td><a class="indexItem" href="#lambda-introducer">lambda-introducer</a></td></tr>
<tr><td><a class="indexItem" href="#linkage-specification">linkage-specification</a></td><td><a class="indexItem" href="#literal">literal</a></td><td><a class="indexItem" href="#literal-operator-id">literal-operator-id</a></td><td><a class="indexItem" href="#logical-and-expression">logical-and-expression</a></td></tr>
<tr><td><a class="indexItem" href="#logical-or-expression">logical-or-expression</a></td><td><a class="indexItem" href="#long-long-suffix">long-long-suffix</a></td><td><a class="indexItem" href="#long-suffix">long-suffix</a></td><td><a class="indexItem" href="#lparen">lparen</a></td></tr>
<tr><td><a class="indexItem" href="#mem-initializer">mem-initializer</a></td><td><a class="indexItem" href="#mem-initializer-id">mem-initializer-id</a></td><td><a class="indexItem" href="#mem-initializer-list">mem-initializer-list</a></td><td><a class="indexItem" href="#member-declaration">member-declaration</a></td></tr>
<tr><td><a class="indexItem" href="#member-declarator">member-declarator</a></td><td><a class="indexItem" href="#member-declarator-list">member-declarator-list</a></td><td><a class="indexItem" href="#member-specification">member-specification</a></td><td><a class="indexItem" href="#multiplicative-expression">multiplicative-expression</a></td></tr>
<tr><td><a class="indexItem" href="#named-namespace-definition">named-namespace-definition</a></td><td><a class="indexItem" href="#namespace-alias">namespace-alias</a></td><td><a class="indexItem" href="#namespace-alias-definition">namespace-alias-definition</a></td><td><a class="indexItem" href="#namespace-body">namespace-body</a></td></tr>
<tr><td><a class="indexItem" href="#namespace-definition">namespace-definition</a></td><td><a class="indexItem" href="#namespace-name">namespace-name</a></td><td><a class="indexItem" href="#nested-name-specifier">nested-name-specifier</a></td><td><a class="indexItem" href="#new-declarator">new-declarator</a></td></tr>
<tr><td><a class="indexItem" href="#new-expression">new-expression</a></td><td><a class="indexItem" href="#new-initializer">new-initializer</a></td><td><a class="indexItem" href="#new-line">new-line</a></td><td><a class="indexItem" href="#new-placement">new-placement</a></td></tr>
<tr><td><a class="indexItem" href="#new-type-id">new-type-id</a></td><td><a class="indexItem" href="#noexcept-expression">noexcept-expression</a></td><td><a class="indexItem" href="#noexcept-specification">noexcept-specification</a></td><td><a class="indexItem" href="#non-directive">non-directive</a></td></tr>
<tr><td><a class="indexItem" href="#nondigit">nondigit</a></td><td><a class="indexItem" href="#nonzero-digit">nonzero-digit</a></td><td><a class="indexItem" href="#noptr-abstract-declarator">noptr-abstract-declarator</a></td><td><a class="indexItem" href="#noptr-abstract-pack-declarator">noptr-abstract-pack-declarator</a></td></tr>
<tr><td><a class="indexItem" href="#noptr-declarator">noptr-declarator</a></td><td><a class="indexItem" href="#noptr-new-declarator">noptr-new-declarator</a></td><td><a class="indexItem" href="#octal-digit">octal-digit</a></td><td><a class="indexItem" href="#octal-escape-sequence">octal-escape-sequence</a></td></tr>
<tr><td><a class="indexItem" href="#octal-literal">octal-literal</a></td><td><a class="indexItem" href="#opaque-enum-declaration">opaque-enum-declaration</a></td><td><a class="indexItem" href="#operator">operator</a></td><td><a class="indexItem" href="#operator-function-id">operator-function-id</a></td></tr>
<tr><td><a class="indexItem" href="#original-namespace-definition">original-namespace-definition</a></td><td><a class="indexItem" href="#original-namespace-name">original-namespace-name</a></td><td><a class="indexItem" href="#parameter-declaration">parameter-declaration</a></td><td><a class="indexItem" href="#parameter-declaration-clause">parameter-declaration-clause</a></td></tr>
<tr><td><a class="indexItem" href="#parameter-declaration-list">parameter-declaration-list</a></td><td><a class="indexItem" href="#parameters-and-qualifiers">parameters-and-qualifiers</a></td><td><a class="indexItem" href="#pm-expression">pm-expression</a></td><td><a class="indexItem" href="#pointer-literal">pointer-literal</a></td></tr>
<tr><td><a class="indexItem" href="#postfix-expression">postfix-expression</a></td><td><a class="indexItem" href="#pp-number">pp-number</a></td><td><a class="indexItem" href="#pp-tokens">pp-tokens</a></td><td><a class="indexItem" href="#preprocessing-file">preprocessing-file</a></td></tr>
<tr><td><a class="indexItem" href="#preprocessing-op-or-punc">preprocessing-op-or-punc</a></td><td><a class="indexItem" href="#preprocessing-token">preprocessing-token</a></td><td><a class="indexItem" href="#primary-expression">primary-expression</a></td><td><a class="indexItem" href="#pseudo-destructor-name">pseudo-destructor-name</a></td></tr>
<tr><td><a class="indexItem" href="#ptr-abstract-declarator">ptr-abstract-declarator</a></td><td><a class="indexItem" href="#ptr-declarator">ptr-declarator</a></td><td><a class="indexItem" href="#ptr-operator">ptr-operator</a></td><td><a class="indexItem" href="#pure-specifier">pure-specifier</a></td></tr>
<tr><td><a class="indexItem" href="#q-char">q-char</a></td><td><a class="indexItem" href="#q-char-sequence">q-char-sequence</a></td><td><a class="indexItem" href="#qualified-id">qualified-id</a></td><td><a class="indexItem" href="#qualified-namespace-specifier">qualified-namespace-specifier</a></td></tr>
<tr><td><a class="indexItem" href="#r-char">r-char</a></td><td><a class="indexItem" href="#r-char-sequence">r-char-sequence</a></td><td><a class="indexItem" href="#raw-string">raw-string</a></td><td><a class="indexItem" href="#ref-qualifier">ref-qualifier</a></td></tr>
<tr><td><a class="indexItem" href="#relational-expression">relational-expression</a></td><td><a class="indexItem" href="#replacement-list">replacement-list</a></td><td><a class="indexItem" href="#s-char">s-char</a></td><td><a class="indexItem" href="#s-char-sequence">s-char-sequence</a></td></tr>
<tr><td><a class="indexItem" href="#selection-statement">selection-statement</a></td><td><a class="indexItem" href="#shift-expression">shift-expression</a></td><td><a class="indexItem" href="#sign">sign</a></td><td><a class="indexItem" href="#simple-declaration">simple-declaration</a></td></tr>
<tr><td><a class="indexItem" href="#simple-escape-sequence">simple-escape-sequence</a></td><td><a class="indexItem" href="#simple-template-id">simple-template-id</a></td><td><a class="indexItem" href="#simple-type-specifier">simple-type-specifier</a></td><td><a class="indexItem" href="#statement">statement</a></td></tr>
<tr><td><a class="indexItem" href="#statement-seq">statement-seq</a></td><td><a class="indexItem" href="#static_assert-declaration">static_assert-declaration</a></td><td><a class="indexItem" href="#storage-class-specifier">storage-class-specifier</a></td><td><a class="indexItem" href="#string-literal">string-literal</a></td></tr>
<tr><td><a class="indexItem" href="#template-argument">template-argument</a></td><td><a class="indexItem" href="#template-argument-list">template-argument-list</a></td><td><a class="indexItem" href="#template-declaration">template-declaration</a></td><td><a class="indexItem" href="#template-id">template-id</a></td></tr>
<tr><td><a class="indexItem" href="#template-name">template-name</a></td><td><a class="indexItem" href="#template-parameter">template-parameter</a></td><td><a class="indexItem" href="#template-parameter-list">template-parameter-list</a></td><td><a class="indexItem" href="#text-line">text-line</a></td></tr>
<tr><td><a class="indexItem" href="#throw-expression">throw-expression</a></td><td><a class="indexItem" href="#token">token</a></td><td><a class="indexItem" href="#trailing-return-type">trailing-return-type</a></td><td><a class="indexItem" href="#trailing-type-specifier">trailing-type-specifier</a></td></tr>
<tr><td><a class="indexItem" href="#trailing-type-specifier-seq">trailing-type-specifier-seq</a></td><td><a class="indexItem" href="#translation-unit">translation-unit</a></td><td><a class="indexItem" href="#try-block">try-block</a></td><td><a class="indexItem" href="#type-id">type-id</a></td></tr>
<tr><td><a class="indexItem" href="#type-id-list">type-id-list</a></td><td><a class="indexItem" href="#type-name">type-name</a></td><td><a class="indexItem" href="#type-parameter">type-parameter</a></td><td><a class="indexItem" href="#type-specifier">type-specifier</a></td></tr>
<tr><td><a class="indexItem" href="#type-specifier-seq">type-specifier-seq</a></td><td><a class="indexItem" href="#typedef-name">typedef-name</a></td><td><a class="indexItem" href="#typename-specifier">typename-specifier</a></td><td><a class="indexItem" href="#ud-suffix">ud-suffix</a></td></tr>
<tr><td><a class="indexItem" href="#unary-expression">unary-expression</a></td><td><a class="indexItem" href="#unary-operator">unary-operator</a></td><td><a class="indexItem" href="#universal-character-name">universal-character-name</a></td><td><a class="indexItem" href="#unnamed-namespace-definition">unnamed-namespace-definition</a></td></tr>
<tr><td><a class="indexItem" href="#unqualified-id">unqualified-id</a></td><td><a class="indexItem" href="#unsigned-suffix">unsigned-suffix</a></td><td><a class="indexItem" href="#user-defined-floating-literal">user-defined-floating-literal</a></td><td><a class="indexItem" href="#user-defined-integer-literal">user-defined-integer-literal</a></td></tr>
<tr><td><a class="indexItem" href="#user-defined-literal">user-defined-literal</a></td><td><a class="indexItem" href="#user-defined-string-literal">user-defined-string-literal</a></td><td><a class="indexItem" href="#using-declaration">using-declaration</a></td><td><a class="indexItem" href="#using-directive">using-directive</a></td></tr>
<tr><td><a class="indexItem" href="#virt-specifier">virt-specifier</a></td><td><a class="indexItem" href="#virt-specifier-seq">virt-specifier-seq</a></td></tr>
</table>
 <footer class="footer">
    <div class="mapLocation">
    <a href="https://m.maploco.com/details/b935ynor"><img style="border:0px;" src="https://www.maploco.com/vmap/s/10015083.png" alt="Locations of Site Visitors" title="Locations of Site Visitors"></a>
    </div>     
    <p class="description">
        一花一世界  一叶一菩提
    </p>    
    <p class="contact">
        Contact me at: 
        <a href="https://gitee.com/zcatt" title="gitee"><i class="fa fa-github" aria-hidden="true"></i></a>  
        <a href="mailto:sworduml@163.com" title="email"><i class="fa fa-envelope-o" aria-hidden="true"></i></a>  
        <a href="http://weibo.com/7362982259" title="Weibo"><i class="fa fa-weibo" aria-hidden="true"></i></a>       
    </p>
    <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <p>
        Last edited on 2020Jan20. Site PV: <span id="busuanzi_value_site_pv"></span>，Site UV: <span id="busuanzi_value_site_uv"></span>，PV: <span id="busuanzi_value_page_pv"></span>
    </p>    
</footer>

</body>
</html>
